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

Tudcloud(月付7.2美元),香港VPS,可选大带宽或不限流量

Tudcloud是一家新开的主机商,提供VPS和独立服务器租用,数据中心在中国香港(VPS和独立服务器)和美国洛杉矶(独立服务器),商家VPS基于KVM架构,开设在香港机房,可以选择限制流量大带宽或者限制带宽不限流量套餐。目前提供8折优惠码,优惠后最低每月7.2美元起。虽然主机商网站为英文界面,但是支付方式仅支付宝和Stripe,可能是国人商家。下面列出部分VPS主机套餐配置信息。CPU:1cor...

RAKsmart美国VPS上市,活动期间5折抢购仅$30,$1.99/月

RAKsmart机房将于7月1日~7月31日推出“年中大促”活动,多重惊喜供您选择;爆款I3-2120仅30美金秒杀、V4新品上市,活动期间5折抢购、爆款产品持续热卖、洛杉矶+硅谷+香港+日本站群恢复销售、G口不限流量产品超低价热卖。美国VPS、日本VPS及香港VPS享全场7折优惠;爆款VPS $ 1.99/月限量秒杀,10台/天,售完即止, VPS 7折优惠码:VPS-TP-disRAKsmar...

spinservers:圣何塞物理机7.5折,$111/月,2*e5-2630Lv3/64G内存/2T SSD/10Gbps带宽

spinservers美国圣何塞机房的独立服务器补货120台,默认接入10Gbps带宽,给你超高配置,这价格目前来看好像真的是无敌手,而且可以做到下单后30分钟内交货,都是预先部署好了的。每一台机器用户都可以在后台自行安装、重装、重启、关机操作,无需人工参与! 官方网站:https://www.spinservers.com 比特币、信用卡、PayPal、支付宝、webmoney、Payssi...

朱骏身价为你推荐
聚酯纤维和棉哪个好纯棉和聚酯纤维的最佳比例小说软件哪个好用免费有什么好用的免费小说软件三国游戏哪个好玩三国游戏哪个最好玩等额本息等额本金哪个好等额本金和等额本息哪个划算?如果想在5-10年内还清贷款哪类更划算一些?dnf魔枪士转职哪个好dnf魔枪士转职哪个好几个职业牡丹江教育云空间登录牡丹江教育云平台学生注册错了怎么办?考生个人空间登录湖南高等教育自学考试 考生个人空间登录密码忘记了怎么办dns服务器未响应电脑上不了网了,显示DNS服务器未响应,什么意思dns服务器地址如何知道自己的IP地址和DNS服务器地址?上海dns服务器地址中国主要城市DNS服务器IP地址列表
台湾虚拟主机 vps安全设置 域名主机基地 高防dns hawkhost 搬瓦工官网 163网 Hello图床 日志分析软件 香港新世界电讯 evssl证书 win8升级win10正式版 主机合租 中国特价网 台湾谷歌地址 双线主机 双十一秒杀 四核服务器 七夕快乐英语 双12 更多