基于Python Selenium的Web自动化测试设计与实现.doc
《基于Python Selenium的Web自动化测试设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Python Selenium的Web自动化测试设计与实现.doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要计算机行业更新迭代快速,功能就会越多,也就会越复杂,出现bug的概率也就会变高,这将会导致发现到bug的时间不确定的延长,bug越晚被发现的话,修复它的成本就会变高;而自动化使得一系列测试方面的问题得到了有效的解决,它代替频繁而且重复的人工操作,以此达到提高测试效率的目的。而Selenium作为其中一款免费且开源的WebUI自动化和接口自动化测试工具,适用于不同platform和browser,有利于测试人员搭建Web自动化测试环境。本论文以Selenium和Python为基础对Web进行设计与实现自动化测试,项目中以pageobject设计模式主要实现了三个主模块,分别是页面对象模块(p
2、age)、测试用例模块(testcase)、公共模块(common),以这三个模块展开了自动化测试。本项目实现了以selenium模拟人工进行测试,针对不同的browser和业务展开工作,在规范测试流程、提高效率方面有一定意义。关键词:Python Selenium pageobject自动化测试 Web测试 Abstract In the computer industry, the update iteration is fast, the more complex the functions are, the higher the risk of bugs, which makes th
3、e time of finding bugs longer, the later the bugs are found, the higher the cost of fixing bugs is; and the Web automation test makes this series of problems effectively solved, which replaces frequent and repeated manual operations, so as to achieve the purpose of improving test efficiency.As one o
4、f the free open source automation testing components, Selenium is suitable for Web applications across different browsers and platforms, which provides a good support for testers to build Web automation testing. This paper designs and implements Web automation test based on Selenium + Python, includ
5、ing log management module (logs), page object module (page), test case script module (testcase), common module, etc.In this project, selenium simulation is used to test manually. It aims at different browsers and businesses. It has webRTC significance to standardize the detection process and improve
6、 the detection efficiency Key words: Python Selenium pageobject automated testing Web testing目 录一、绪论11.1、课题研究背景11.2、课题研究目的与意义11.3、国内外研究现状21.4、课题研究的主要内容21.5、论文结构21.6、本章小结3二、自动化测试技术研究42.1、自动化测试的相关概念42.2、开展自动化测试的条件42.3、自动化测试的一般流程42.4、自动化测试的优劣52.5、基于Web的自动化测试技术研究与分析52.6、本章小结6三、 Selenium自动化测试技术研究73.1、Sel
7、enium基本技术研究73.2、Selenium的工作原理73.3、Selenium元素定位83.4、本章小结9四、自动化测试框架的设计104.1、关于POM模式的设计114.2、公共类模块的设计114.2.1、HTMLTestRunner114.2.2、LogGen124.2.3、OpenBrowser134.2.4、ReadConfig134.2.5、ScreenShot134.2.6、SendMail134.2.7、ReadData144.3、页面对象模块的设计154.3.1、基类basepage154.3.2、子类(loginpage、mainpage、registerpage)154
8、.4、测试用例模块的设计164.4.1、test_01login164.4.2、test_02register174.5、配置文件184.6、本章小结18五、Unittest单元测试框架的设计195.1、Unittest基本技术研究195.2、Unittest工作原理195.2.1、TestFixture195.2.2、TestCase205.2.3、TestSuite205.2.4、TestRunner215.3、断言设计215.4、参数化设计225.5、本章小结22六、测试实施与结果分析236.1、测试实施236.2、测试结果分析246.3、本章小结25七、 总结与展望267.1、总结26
9、7.2、后续研究与展望267.3、本章小结26参 考 文 献27致谢28图表目录图3-1 Selenium的工作原理8图3-2本章小结9图4-1 common模块10图4-2 config模块10图4-3 page模块10图4-4 testcase模块10图 4-5 Python3 HTMLTestRunner12图 4-6 日志模块关键代码13图 4-7 用例读取关键代码14图 4-8 元素定位封装15图 4-9 子类操作部分代码16图 4-10 登录操作部分代码16图 4-11 登录失败测试用例代码17图 4-12 注册用例代码117图 4-13 注册用例代码217图 4-14 注册用例代
10、码317图 4-15 配置文件18图 5-1 Unittest TestFixture20图 5-2 用例展示20图 5-3 测试套件21图 5-4 测试运行21图 5-5 参数化设计22图 6-1 运行图123图 6-2 运行图223图 6-3 运行图324图 6-4 注册和登录测试报告25图 6-5 订票测试报告25广东东软学院本科生毕业设计(论文)一、绪论1.1、课题研究背景目前国内的软件行业已经过了飞速发展的阶段,逐渐进入到一种饱和的,缓慢向上增长的阶段,可是即使这样软件测试领域仍然处于非常薄弱的阶段,大多数从事着软件测试这份工作的人依旧进行着手工测试。手工测试的优势是拥有较强.的.异
11、常处.理能.力,通.过人.为判.断.测.试.结果.是否.,能够细致的定位到问题。但是缺点也很明显,极度耗费时间和人力,且在数据量巨大或者重复进行操作的时候还有可能出现操作失误,导致输错数据或操作步骤错乱这种小错误;而.且.大量重.复.性.的.手.工.测.试的.成本只会.更高.,如果还要考虑到回归测试或者软件改动而进行的重复测试等特殊情况,成本不可估算!自.动.化.测.试.因.此.诞生.。与.手.工.测.试对.比,自动化.测.试.优.势明显:流程.更规范、效.率更高、覆.盖.率全.面.等,而且.部分测试.是手工.无法.进行.的,这个时候就需要自动化测试来执行。但也有不足的地方,那就是对测试人员的
12、水平要求较高,但是随着软件行业的持续发展,软件测试的从业人员的水平也会随之提高,自动化测试也会越来越普遍。1.2、课题研究目的与意义手工测试的地位是不可代替的,如果一个项目的周期较短,相对于成本和时间来说,手丁工丁测丁试丁是丁最丁优丁优选丁择。但丁如丁果丁项丁丁目丁稳丁定丁了下丁来,就可以考丁虑丁往丁自丁动化丁测试丁方向丁转丁变丁了,因为丁这丁个时丁候项丁目丁的丁需求丁趋于丁稳定,重复的任务会较多,适合自动化测试的开展。本次选题将以Web自动化测试为例,深入研究和学习自动化测试的规范步骤,从而进一步找出自动化测试的共性和规律,培养自动化测试思维,锻炼编程能力,通过分析并解决问题,养成良好的工作
13、习惯,为日后从事软件测试的相关工作打下良好基础,积累宝贵的经验。目前市面上比较流行的WEB自动化测试工具有Selenium、UFT、Watir和IBMRFT,Selenium是其中流行程度最高的开源自动化测试工具,该工具有着其他工具不能比拟的优越性,免费开源,支持多种环境,多种语言和多种主流浏览器,更加贴合测试结果。基于上述原因,选用Selenium作为本次自动化测试的工具。本次测试以WebTours系统作为被测系统。WebTours是一个booking系统丁丁丁丁,在这个项目中口将口口围口口绕口口口以注册口口、口登口口录、订口票等功能为口口核口心口口展开口测试,通过自口口动化口口的需求口口分
14、口析,编写口自口动口化测口试口脚本,搭口建自口动口化测试口环境口和口框口架,执口行口口测口试等口一口系口列口流程来口完口成口口一口口个口完口口整口口的自口动口化口测口试口过口口程口口。1.3、国内外研究现状国内的软件测试相比较于国外来说,起步较晚,同样,自动化测试也是落后于国外。但是随着国内测试行业飞快发展,自动化测试逐渐成为测试领域里得到普及,越来越多的企业已经开展了自动化测试(软件)且有了专门的流程和框架。国外的自动化测试最早可追溯到1990年,对比国内,起步早太多了。但是随着国内测试行业的不断学习和发展,国内的自动化测试行业也渐渐赶上了国外的步伐,至今两边的水平即使有差距,也不会相差太多
15、。1.4、课题研究的主要内容本次课题将以Web作为研究对象,通过Web自动化测试进一步研究自动化测试的核心内容,在完成自动化测试的过程中,能够更加深入了解测试的整个过程。内容上将以自动化的框架的设计和实现作为核心内容,而不是以测试流程作为核心,辅以相关的说明,如工具,框架设计原理和单元框架等。自动化测试框架本身不能完成一套自动化测试过程,它更像是一种管理工具,通过自动管理测试用例,生成日志和测试报告等,而关键的部分是通过一个个组件完成的。本次项目的自动化测试框架中集合了日志、报告、截图、用例等管理模块。1.5、论文结构本口论口文口口共有口口七口章,结口口构口口如口口下口:第口口一口章,口绪口论
16、口,口简口单口的口口介口口绍口了目前国口口内的口软口件测口口试口行口口业口的口口自口动口口化口现状,包括论文选题的目的与意义。第二章,自口动口化测口试口相关口介口绍口,介绍口口了口自口动化测试的一些相关内容,包括口定口义口口,开展条件,流程和优缺点,并简要描述了本次对被测系统的抉择。第三章,Selenium自动化测试工具,对Selenium进行了基本介绍,介绍了它工作的原理和组成,最后列举了自动化操作中最重要的八种元素定位方法。第四章,自动化测试框架的设计,本次论文的核心部分。首先介绍了本次项目的测试框架的核心:POM模式,然后逐一介绍了本次测试框架里的公共类模块,页面对象模块,测试用例模块和
17、配置文件模块的相关内容。第五章,Unittest单元测试框架,详细介绍了单元测试框架Unittest的各个方法,包括TestFixture,TestCase,TestSuite,TestRunner和断言。第六章,测试实施与结果分析,展开测试后的情况说明和得出测试结果的分析与说明。是对整个项目的总结。第七章,结束语,自动化测试结束后的心得总结和体会。以及对未来发展的一些想法。1.6、本章小结本章包含本次选题的相关说明,简要介绍了自动化测试在目前行业的现状和叙述了本次论文会涉及到的内容。27二、自动化测试技术研究在开展自动化测试之前,必须要先知道什么是自动化测试,如何开展自动化测试,它到底能够带
18、来什么?2.1、自动化测试的相关概念自动化测试就是将手工测试的测试超用例变成计算机或者其他工具来执行的一个运行的过程。一超般超来超说,超在超测超试超用超例设超计超编超写及超超评审通超过超后,测试人员根据测试用例中的步骤开展测试,最后将得到实际结果和预期结果对比,得出结果。这个过程中,以节省时间、人力物力,提高测试效率为目的,就有了自动化测试。2.2、开展自动化测试的条件在实超施自超动化超测试之前,要超分析软超件开超发的超过超程,判断它超是否超适合超自动超化测超试超的开展。一般来说,下面列出几个需要满足的最基本的条件:1、软件需求的变动不会太过于频繁因超为超软件超自动化超超测试的超维护超成本超由
19、测试超代码超的稳超定性超所决超定超超。假如需求经常发生变动,测试人员就要根据新的需求来编写新的代码,这样子无疑是很花费时间,耗费大量成本的。这样子自动化测试对比于手工测试方便高效的优点就不复存在了,那超超还超不超如超开超展超手超工超测超试超超。2、超项超超目周超期超长超由于确定自超动化测超试需超求超超,超设计自动化超测试框架超,超编写与调超试测试超脚超本都需超要超花超费大超量超的超时超间超来超完超成超。这是一种类似功在当代,利在千秋的项目。但如果时间不够,那么就没必要开展自动化测试。2.3、自动化测试的一般流程自动化测试的一般流程:首先是制定测试计划,接着分析测试需求,搭建自动化测试环境,设计
20、并编写自动化脚本,最后执行脚本,生成测试报告,自动化测试流程到这里就算结束了。1、制定测试计划。在开始自动化测试之前,要先做好相关的准备工作。做好测试计划,准备好一切工作前要完成的东西。比如说测试对象,目的,项目内容,用到的方法,进展要求,资源分配状况等。2、分析测试需求。根据项目的测试计划和需求规格说明书,分析总结出软件的测试需求,便于在编写测试用例的时候覆盖到更多的测试点,这点和普通的测试流程很相似。3、搭建测试环境。搭建自动化测试环境是整个流程中的重点,将在下一章详细说明。4、设计测试用例。根据测试需求分析后得出的结果,设计出覆盖程度相对高的测试用例。5、编写测试脚本,执行自动化测试将会
21、在后面进行详细说明。2.4、自动化测试的优劣优势:1、 避免了人为出错。测试人员不可能精神持续高度集中进行手工测试,长时间下来容易受外界影响,可能会造成意外的错误。2、 有利于回归测试的开展,因为用例是已经设计好了的,预期也超没有过多变化,将这一步骤自动化,能够大幅超度的提高超测试的效率,缩短周超期。3、 解放人超超力,超让超测试超人员超可以去超进行那超些超更重要的超测试超工作。劣势:1、 开发测试框架和脚本需要花费较大的时间成本,变相拉长了周期。2、 当项目快速迭代时,自动化测试脚本也需要跟着不断迭代,进一步提高了时间成本。3、 不同项目之间的自动化脚本的复用率低。4、 对测试人员的水平要求
22、较高,并不是所有的测试人员都能够胜任自动化测试这份工作的。2.5、基于Web的自动化测试技术研究与分析目前Web自动化测试的主流技术是QTP和Selenium,两种技术都是通过模拟用户的操作实现Web自动化测试,都能够很好的完成自动化测试的流程。而本次项目正是基于Selenium工具进行的,通过模拟用户的相关操作,如点击、输入等操作,组合成一系列测试用例,通过自动化测试框架的集成管理,最终完成测试流程。基于上述关于自动化测试的特点和优缺点描述,本次测试决定选用WebTours作为被测项目。WebTours是一个飞机购票网站,项目和需求已经稳定,自动化测试的脚本复杂度比较低,非常适合新手作为初次
23、自动化测试的被测项目。在本次自动化测试中,主要做了注册、登录和订票三个功能自动化测试,注册和登录适合自动化测试效果的展示,订票属于核心流程。这三个功能重复性高,结果明显易判断,完全可以用自动化测试取而代之。2.6、本章小结在自动化测试技术研究该超章节中,具体介超绍了自超动化测试超的相关超概念,超分析超了开超展自动化超测试的相超关条件,通过超自动化测试超与手超工测试超的对比超,得出了自动化测超试超开展超的可行超性。三、 Selenium自动化测试技术研究3.1、Selenium基本技术研究Selenium是一款开源Web的自超动化测试工具超,主要用超于网页超的自动超化测试和接口测超试。Selen
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Python Selenium的Web自动化测试设计与实现 基于 Python Selenium Web 自动化 测试 设计 实现
限制150内