测试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

CloudCone:KVM月付1.99美元起,洛杉矶机房,支持PayPal/支付宝

CloudCone的[2021 Flash Sale]活动仍在继续,针对独立服务器、VPS或者Hosted email,其中VPS主机基于KVM架构,最低每月1.99美元,支持7天退款到账户,可使用PayPal或者支付宝付款,先充值后下单的方式。这是一家成立于2017年的国外VPS主机商,提供独立服务器租用和VPS主机,其中VPS基于KVM架构,多个不同系列,也经常提供一些促销套餐,数据中心在洛杉...

这几个Vultr VPS主机商家的优点造就商家的用户驱动力

目前云服务器市场竞争是相当的大的,比如我们在年中活动中看到各大服务商都找准这个噱头的活动发布各种活动,有的甚至就是平时的活动价格,只是换一个说法而已。可见这个行业确实竞争很大,当然我们也可以看到很多主机商几个月就消失,也有看到很多个人商家捣鼓几个品牌然后忽悠一圈跑路的。当然,个人建议在选择服务商的时候尽量选择老牌商家,这样性能更为稳定一些。近期可能会准备重新整理Vultr商家的一些信息和教程。以前...

1核1G仅38元/月起野草云服务器,香港/美国洛杉矶CN2+BGP云服务器,

野草云服务器怎么样?野草云是一家成立了9年的国人主机商家,隶属于香港 LucidaCloud Limited (HongKong Registration No. 2736053 / 香港網上查冊中心)。目前,野草云主要销售香港、美国的VPS、虚拟主机及独立服务器等产品,本站也给大家分享过多次他家的优惠了,目前商家开启了优惠活动,香港/美国洛杉矶CN2+BGP云服务器,1核1G仅38元/月起!点击...

朱骏身价为你推荐
盗版win8.1升级win10电脑预装正版win8,后来装成盗版win8.1了,请问还能不能升级win10呀手机浏览器哪个好手机浏览器哪个好用核芯显卡与独立显卡哪个好独立显卡和核芯显卡有什么区别电陶炉和电磁炉哪个好电磁炉与电陶炉有啥区别,哪个更好些?手机炒股软件哪个好手机炒股软件车险哪个好购买车险哪家好雅思和托福哪个好考托福好考还是雅思好考?牡丹江教育云空间登录请问一下校园云空间的登录方式有哪些?google广告申请怎样才能申请google广告dns服务器未响应DNS服务器未响应
100m网站空间 备案域名购买 双线vps vps优惠码cnyvps 老域名全部失效请记好新域名 美国主机评测 2014年感恩节 42u机柜尺寸 免费ddos防火墙 股票老左 域名接入 1g空间 网络空间租赁 linux服务器维护 最好的qq空间 昆明蜗牛家 Updog 卡巴斯基是免费的吗 中国电信宽带测速器 空间登入 更多