6-面试题(Web自动化测试)

1、如何提升webui自动化的稳定性
1·导致ui自动化不稳定的因素

1.1 web页面的多变

1.2 页面隐藏元素

1.3 页面元素加载不稳定

1.4 系统业务复杂

1.5 ajax请求问题

1.6 测试环境数据准备问题

2·解决问题的各种方法
1.从自动化框架解决问题

1.1设置显式等待

重写selenium的底层接口,加入显式等待,设置等待条件及异常处理;

1.2等待页面加载稳定

重写selenium的底层接口,定位元素前需要先等待页面加载稳定,页面加载稳定的判断条件为"页面源码在限定时间内不再发生变化";

1.3过滤隐藏元素

重写selenium的底层接口,在selenium判断的基础上,过滤掉页面特殊的隐藏元素,增强脚本容错性;

1.4设置xhr请求等待

重写selenium的底层接口,在脚本开启代理的情况下,判断xhr请求是否都已经响应,此处可作为选配仅在脚本开启代理时作判断

1.5继承requests模块

传统的webui框架结构时测试报告模块+日志模块+项目配置文件模块+unittest模块+selenium模块,可以在此基础上集成requests模块。

requests模块提供接口请求、获取响应内容、解析响应内容的基本封装。

2.从设计模式解决问题

2.1采用pom设计模式

a.页面元素在发生变化时,我们仅需从底层修改对应页面对象,大大降低了后期的维护成本;

b.将复杂的业务逻辑划分成多个细小单元,通过组织这些细小单元形成我们的业务代码,增强代码的复用性,提高效率;

c.统一代码风格,减少个人不良的代码习惯对脚本稳定性的影响;

2.2通过requests模块完成环境数据准备

a.提高脚本执行效率

b.减少脚本在非用例验证点的地方提前报错,提升脚本容错率

c.增强脚本可操作性,便捷获取业务系统的一些关键数据,减少ui操作

posted @   tester20183450  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示