各个驱动下载地址: http://www.seleniumhq.org/download/
一、PSU介绍
1.概念
2.特点
3.优点
灵活,只要Python开发功底好,可以自由发挥(自动发邮件、定时任务...)
4.缺点
学习成本高,开发要考虑的问题测试写UI自动化也需要考虑,比如封装、设计模式等,什么都要自己来,如果你想生成HTML格式的报告,还需要去找HTMLReport这样扩展
二、测试流程
规划->搭建环境->编写并调试脚本(核心:元素定位)->工程维护优化
1.规划
1.1确定测试范围,根据功能用例整理自动化测试用例
1.2分工
1.3确定具体进度时间相关的情况
1.4确定自动化的框架,资源,环境搭建等
2.框架
python+selenium+unittest框架(PSU)
3.环境
https://www.showdoc.cc/lkr?page_id=3767718196953191
4.编写并调试脚本
4.1 创建工程
4.1.1 将unittest与selenium融合在一起进行web自动化测试
创建Commonlib目录存放公共模块(我们封装的selenium模块)
创建Business目录存放根据业务创建测试功能模块(测试用例的每一个步骤)
创建Testcase目录存放测试用例
创建Testdata目录存放测试数据
4.1.2说明:
unittest.main()运行时,框架自动寻找TestCase子类,并且运行
在TestCase类中,只把以test开头的方法当做测试用例,然后执行
setUp()用于初始化一些参数,在测试用例执行前自动被调用
tearDown()用于清理,在测试用例执行后被调用
4.2编写并调试脚本
元素定位:https://www.showdoc.cc/lkr?page_id=3777281209607722
4.2.1 说明:重点是元素的定位
备注:运行的两种形式
unitest.main()
unittest.TexttestRunner(veribosity=2).run(测试套件)
4.3断言
4.3.1 说明
断言是测试用例的核心,经常使用assertEqual(value1,value2)来判断预期结果,用assertTrue()和assertFalse来做是非判断
4.3.2 断言方法以及匹配方式
主要是通过响应的状态码、提示信息、响应的正文内容来断言的;响应的状态码比如说常见的有200、302等;提示信息比如说常见的有OK、Found等;响应正文内容,具体要根据项目实际情况去定(比如说错误码、提示信息、或者是其他的内容)等
断言步骤:
一、先获取响应数据
r = requests.get (url= url,params= params, headers=headers)
r = requests.post (url= url,data=params,headers=headers)
二、提取响应数据里面的信息
状态码 //r.status_code //200
提示信息 //r.reason //OK
响应的正文内容 //r.text //HTML网页
//r.json() //文本
//r.content //字节方式,需进行解码,二进制的信息流
三、断言
1、断言