1、自动化的实现过程
1.在自动化测试过程中,存在三部分组件:客户端脚本+驱动+浏览器终端。
2.驱动文件,以geckodriver.exe为例,这个可执行的驱动文件启动后,相当于一个暴露了一系列接口的服务器,监听某一端口,例如:89890。
3.客户端的操作(访问页面,定位元素,输入数据,点击按钮等)都是封装成了接口请求(eg:/session/xx/yy),然后提交到驱动服务器。
4.驱动服务器接收到客户端的请求后,再跟终端浏览器交互。
5.终端浏览器做出相应操作。
2、自动化异常的处理机制
python有五种异常处理机制,分别是:
默认异常处理器
try....except....
try....except....finally
try...finally....
assert
with...as 打开一个文件的时候,用with,如果文件不存在则不会报错
3、页面波动,要用什么方式处理自动化用例
最简单粗暴的就是sleep
如果怕执行时间过长,你可以用run keyword and return
wait until keyword succeeds这个关键字来处理
4、页面的跳转要用什么关键字,元素可见和不可见,怎么区分?
页面的跳转可以通过goto语句,也可以通过点击页面特定的元素跳转
可见和不可见rf都有自带的关键字,区分的话,就只能通过f12,查看元素是否被隐藏
5、使用自动化测试的前提条件
功能测试(手工)完成,项目周期长(有足够的时间写自动化代码), 需求稳定 需求不稳定自动化代码就不稳定
6、自动化测试的目的?
解决回归测试:对项目之前的版本进行验证
解决模拟压力测试:处理多用户请求的能力
解决兼容性测试:不同的浏览器,一个浏览器不同的版本
提高测试效率,保证产品质量
优点: 较少的时间运行更多的测试用例,自动化脚本可重复运行,减少人为的错误,测试数据存储
缺点 : 不能取代手工测试,手工测试比自动化测试发现的缺陷更多,对测试人员技能有要求
误区: 自动化测试完全代替手工测试, 自动化可以发掘更多的bug,自动化测试一定比手工测试厉害