课程回顾:
三类等待:用强制等待之后可以正常操作,用其余的等待之后没有办法正常操作。
等待的目的是为了让页面拥有足够的加载缓冲时间。
强制等待:不考虑逻辑,必须等
显式等待:针对指定的元素进行等待,若没有等待到,就报错
隐式等待:设置的等待全局变量。每一次查找元素时都会生效
在创建Webdriver对象时,会设置隐式等待
页面局部加载,只是影响了元素的属性时,可以通过强制等待来操作
显式等待在针对特定元素进行操作时,用于校验该元素是否加载成功,以及判断页面中该元素是否存在
断言:
编写测试用例时,会存在有预期结果,判断测试用例通过与否是基于预期结果与实际结果是否匹配
流程的校验也是一样,通过一系列操作,最终在实现上,校验内容是否与预期一致
同样,在自动化测试中,每一次的操作结束之后,都会有对应的反馈,同时,自动化在流程实现之后,也会有相应的结果,在此基础上,设置一个预期结果,来进行实际配对,校验是否一致
断言的预期和实际结果的比对,在本质上就是if else的操作
在实际的自动化执行中,断言都是基于页面元素获取的信息来进行的。
断言的应用场景:
在UI自动化测试中,断言是在流程实现结束之后进行的。
在接口自动化测试中,断言一般是每一次请求的响应中进行断言
JS执行器:
JS的对象:document对象
1. 获取元素文本信息
通过innerHTML来获取
arguments[0],表示占位符
2. 滚动页面
有时候进行页面元素获取并操作时,会提示当前元素无法交互(可能是因为有弹层进行遮挡或者元素未显示在视窗以内)
老师,页面弹窗怎么处理?
alert弹窗:只有确认按钮
confirm弹窗:有确认和取消按钮
prompt弹窗:有输入文本
加课:WebUI实操+幺蛾子
课后作业:
1. 将购物车流程添加断言
2. 实操练手document对象以及js执行器