测试16210121003_朱冬梅_基于Selenium Python的自动化测试框架的设计与实现

朱骏身价  时间:2021-01-26  阅读:()

本科毕业设计论文

基于Selenium+Python的自动化测试框架的设计与实现Design and Implementation ofAutomatic Testing

Framework Based on Selenium and Python

院 系 计算机学院软件工程系

专 业 软件工程

班 级 16软件10班

学 号 16210121003

学生姓名 朱冬梅

指导教师 姚庚梅

提交日期 2020年 3月 30日

毕业设计论文原创性声明

本人郑重声明所呈交的毕业设计论文是本人在指导老师的指导下独立进行的设计研究工作及取得的成果论文中引用他人的文献、数据、 图件、资料均已明确标注出论文中的结论和结果为本人独立完成不包含他人已经发表或撰写的作品及成果。对本文的研究作出贡献的个人和集体均已在论文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。

毕业论文作者签字 签字日期 年 月 日

成绩评定

注毕业设计论文成绩按百分制评定。答辩成绩不及格的评分低于60分的则该毕业设计论文总评成绩为答辩成绩。

中文摘要

随着互联网行业的快速发展敏捷开发快速迭代的性质。传统软件测试的技术和方式并不完全适用于如今的Web系统的测试对于企业引进自动化测试是非常必要的。 目前市场上已经有许多自动化测试工具和框架。如何构建一套适合自我测试的工具或框架满足实际需求的自动化测试框架是每个研究自动化测试或自动化测试的工作者需要考虑和解决的问题。

本文主要是利用软件测试知识、 自动化测试相关教程和自动化测试框架理论在结合对当前市场上流行的自动化测试工具的分析结果使用高效、简洁、灵活的Python语言去实现一款基于S elenium+Python的自动化测试框架该框架的测试对象主要是功能测试。在使用该测试框架过程中需要提高测试脚本的维护性、复用性和扩展性有利于实现减少测试成本的消耗、提高测试执行的效率和保证软件产品的质量。关键词 自动化测试 测试框架 S elenium框架 Pytho n脚本

Abstract

With With the agile development of the Internet industry.Nowadays,traditional software testing techniques and methods are not fully applicableto Web system testing, so it is very necessary for enterprises to introduceautomated testing.At present, there are a lot of automated testing tools andshell frame in the market.How to build a set of self-test means or shell frameto meet the physical demands of automated testing framework is a problemthat every researcher of automated testing or test automation needs toconsider and solve.

This paper mainly uses the knowledge of software testing, related courses of automatic testing and the theory of automatic testing framework.Combining with the analysis results of the popular automatic testing tools in the current market, it uses the effic ient,concise and flexib le Python language to realize an automatic testing framework based on selenium+python.The testingobject of this framework is mainly function testing.

In us ing the test framework at this process,we need to improve themaintainability, reusability and augmentability of test scripts,which isinstrumental in reducing the consumption of test costs, improving theefficiency of test execution and ensuring the quality of software products.Key words Automatic Test Framework Selenium Framework

Python Script

目 录

第一章 绪论...........................................................................................1

1.1 研究背景及意义............................................................................1

1.2 国内外研究现状............................................................................1

1.3 研究目标与内容............................................................................2

1.4 本文结构.......................................................................................3

1.5 本章小结.......................................................................................3

第二章 自动化测试技术研究.................................................................4

2.1 软件自动化测试概念研究.............................................................4

2.1.1 自动化测试定义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

2.1.2 自动化测试过程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

2.1.3 自动化测试框架分类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

2.2 软件自动化测试框架研究.............................................................7

2.2.1 主流自动化测试框架研究. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

2.2.2 自动化测试框架设计原则研究. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

2.3 软件自动化测试工具研究.............................................................8

2.3.1 自动化测试工具分类研究. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

2.3.2 Selenium工具研究. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

2.3.3 Selenium WebDriver工具研究. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

2.4 Python语言特点介绍..................................................................10

2.5 本章小结.....................................................................................10

第三章 自动化测试框架需求分析.......................................................11

3.1 测试框架功能需求分析...............................................................11

3.1.1 测试用例管理模块测试需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

3.1.2 测试业务模块需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

3.1.3 数据模块需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

3.1.4 日志模块需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

3.1.5 测试报告模块需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

3.2 测试框架非功能需求分析...........................................................12

3.3 本章小结.....................................................................................13

第四章 自动化测试框架设计...............................................................14

4.1 测试框架的整体架构...................................................................14

4.2 测试业务模块设计......................................................................14

4.2.1 公共类封装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

4.2.2 各个页面类封装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

4.2.3 用例管理模块设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

4.3 数据模块设计..............................................................................16

4.4 日志模块设计..............................................................................16

4.4.1 截图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

4.4.2 自定义日志服务和日志输出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

4.5 测试报告模块设计......................................................................17

4.5.1 生成测试报告. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

4.5.2 发送测试报告. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

4.6 本章小结.....................................................................................17

第五章 自动化测试框架实现...............................................................18

5.1 开发工具.....................................................................................18

5.2 测试框架方案实现......................................................................18

5.3 测试业务模块实现......................................................................19

5.3.1 公共类封装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

5.3.2 页面类封装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

5.3.3 测试用例管理模块实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

5.4 数据模块实现..............................................................................25

5.5 日志模块实现..............................................................................26

5.5.1 截图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

5.5.2 自定义日志服务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

5.6 测试报告模块实现......................................................................28

5.7 本章小结.....................................................................................28

第六章 应用实践..................................................................................29

6.1 搭建测试环境..............................................................................29

6.2 测试执行.....................................................................................29

6.3 测试报告.....................................................................................30

6.4 本章小结.....................................................................................31

第七章 总结与展望..............................................................................32

7.1总结...............................................................................................32

7.2后续研究展望.................................................................................32

7.3本章小结.......................................................................................32

参考文献...........................................................................................33

致谢........................................................................................................34

图表目录

图2-1 自动化测试基本流程.................................................................5

表2-1 用于黑盒测试的自动化工具......................................................8

表2-2 用于白盒测试的自动化工具......................................................8

表2-3 用于管理测试过程的管理工具..................................................8

图2-2 Selenium - RC的原理..............................................................9

图2-3 Selenium工作基本原理..........................................................10

图3-1 测试框架功能需求分析...........................................................11

图4-1 测试框架的整体结构...............................................................14

图4-2 公共类封装..............................................................................15

图4-3 Testcase结构.........................................................................16

表5-1 开发环境及工具......................................................................18

图5-1 测试框架结构..........................................................................19

图5-2 页面基本操作封装...................................................................20

图5-3 页面元素定位及基本操作封装................................................21

表5-2 八大元素定位..........................................................................21

图5-4 页面基本操作和信息获取封装................................................22

图5-5 浏览器封装..............................................................................22

图5-6 页面类封装..............................................................................24

图5-7 测试用例脚本结构...................................................................24

图5-8 登录页面的测试用例脚本具体实现........................................25

图5-9 登录页面的测试用例输入数据................................................25

图5-10 截图功能封装........................................................................26

图5-11 日志类封装............................................................................27

图5-12 调用第三方库生成测试报告..................................................28

图6-1 正确用例验证登录...................................................................29

香港物理服务器 E5-2660v2 16G 500GSSD 增送20G防御 688/月 华纳云

#年终感恩活动#华纳云海外物理机688元/月,续费同价,50M CN2 GIA/100M国际大带宽可选,超800G 防御,不限流华纳云成立于2015年,隶属于香港联合通讯国际有限公司。拥有香港政府颁发的商业登记证明,作为APNIC 和 ARIN 会员单位,现有香港、美国等多个地区数据中心资源,百G丰富带宽接入,坚持为海内外用户提供自研顶级硬件防火墙服务,支持T B级超大防护带宽,单IP防护最大可达...

Cloudxtiny:£1.5/月,KVM-512MB/100GB/英国机房

Cloudxtiny是一家来自英国的主机商,提供VPS和独立服务器租用,在英国肯特自营数据中心,自己的硬件和网络(AS207059)。商家VPS主机基于KVM架构,开设在英国肯特机房,为了庆祝2021年欧洲杯决赛英格兰对意大利,商家为全场VPS主机提供50%的折扣直到7月31日,优惠后最低套餐每月1.5英镑起。我们对这场比赛有点偏见,但希望这是一场史诗般的决赛!下面列出几款主机套餐配置信息。CPU...

MOACK:韩国服务器/双E5-2450L/8GB内存/1T硬盘/10M不限流量,$59.00/月

Moack怎么样?Moack(蘑菇主机)是一家成立于2016年的商家,据说是国人和韩国合资开办的主机商家,目前主要销售独立服务器,机房位于韩国MOACK机房,网络接入了kt/lg/kinx三条线路,目前到中国大陆的速度非常好,国内Ping值平均在45MS左右,而且商家的套餐比较便宜,针对国人有很多活动。不过目前如果购买机器如需现场处理,由于COVID-19越来越严重,MOACK办公楼里的人也被感染...

朱骏身价为你推荐
软银孙正义马云富还是孙正义富浏览器哪个好什么浏览器最好?燃气热水器和电热水器哪个好燃气热水器和电热水器的区别是什么,哪个比较好?机械表和石英表哪个好机械表好还是石英表好,看专家如何分析浏览器哪个好用浏览器哪个好浮动利率和固定利率哪个好银行贷款是选固定利率好还是浮动利率录音软件哪个好录音软件哪个好手机炒股软件哪个好免费手机炒股软件哪个好?雅思和托福哪个好考托福和雅思哪个好考 急。。。。。51空间登录手机怎么登陆51空间啊
vps 免费linux主机 virpus linkcloud mach 空间打开慢 商家促销 发包服务器 河南服务器 php空间推荐 世界测速 tna官网 电信虚拟主机 上海服务器 申请网站 移动服务器托管 dnspod 贵阳电信测速 工信部icp备案查询 睿云 更多