UI自动化的流程怎样的
用python + selenium + unittest实现。如下单功能的脚本,先构建一个测试工程,测试工程包含base部分(这里封装脚本公共的内容,如打开浏览器,登陆等操作),Cases(存放测试用例),reports(存放测试报告),data(封装对数据对数据库进行操作的内容),page(存放每个页面的操作),runAllCases(用于运行项目自动化用例),脚本调试完后,使用jenkins持续集成工具,生成测试报告,并给相关人员发送报告。比如,xxxx项目下单,由于经常使用到点击、输入,那么我们可以把点击跟输入封装到base包里面,为了增强元素定位还使用了显示等待WebDriverWait对原本的元素进行二次封装,然后再page把里面编写从登陆到下单的业务,开始需要把base包里面的导入,然后定义一个类去继承ta,然后在里面实现了元素定位、元素操作,data包我们存放的是操作数据,存放文件的格式是.json,最后在case包里面编写我们的测试用例,先导入page包里面的业务,然后使用ddt里面的file_data导入测试数据,然后我们使用runAllCase启动运行,最后输出测试报告
定位不成功有哪些原因
1.元素动态值
2.没停顿就加载
3.多表单切换
4.界面有变动
5.元素不是唯一
6.停顿时长过短
7.元素隐藏
8.多窗口
如何保证脚本的稳定性
1.经常维护,每次迭代需求都跑UI自动化进行维护
2.使用显示等待对元素定位进行二次封装
3.保证网络的稳定性
4.界面如有变动,让开发进行通知,我们相对应进行修改