UI自动化稳定性提升

本文讨论了如何通过优化等待策略、选择稳定的定位方法,以及在设备容灾和任务容灾方面的措施,提升网页加载后的操作稳定性。文章还着重介绍了全链路压测的技巧,包括并发请求的发起、数据隔离、真实数据替换和基于用户模型的负载模拟,以及测试数据的管理和清理。
摘要由CSDN通过智能技术生成
  1. 等待策略优化:添加合适的等待时机,页面加载成功&元素稳定后执行操作
  2. 稳定的定位策略:使用唯一且稳定的定位器
    1. 尽量选取稳定的识别方式,如OCR
    2. 对识别元素无强要求,如点击空白区域关闭页面等,尽量使用屏幕百分比定位
    3. 元素本身变动大,但是页面内有相对稳定的元素,使用相对稳定的元素+offset(根据元素位置偏移)识别
    4. 为了提高元素识别率,可以控制识别区域
  3. 建设容灾能力
    1. 设备容灾能力建设:ATX崩溃重建、手机卡死(内存不足)、设备异常识别(如下线、断网)、电脑磁盘空间定期清理
    2. case容灾能力:添加适当的异常处理机制,wda重连接、操作重试等
    3. 任务容灾能力:任务级异常(如节点打满,设备突然离线)等添加重试
  4. 测试数据管理
    1. 确定测试数据的准确性和一致性
    2. 使用数据驱动的方法,将测试数据和测试脚本分离,便于管理和维护
    3. 利用模块化思想,将通用操作集合打包成名字有意义的函数
  5. 去除外借干扰
    1. 卸载手机无用软件,降低干扰:adb shell pm list packages | cut -d':' -f2 | tr '\r' ' ' | xargs -n1 -t adb uninstall
    2. 关闭安全键盘、系统自动更新、电池优化等
    3. 定时重启

    4. 使用背夹,固定温度,避免长时间运行,温度过高down掉

    5. 电脑磁盘异常告警及自动清理

    6. 手机连接专有WiFi,电脑连接网线

    7. 自动化设备、电脑专用,位置专用,放在无干扰角落

  6. 定期维护和优化:定期审查优化自动化测试脚本

三、全链路压测

  1. 海量并发请求的发起:
    1. 使用jenkins Job单独调用Jmeter节点来控制和发起测试压力,能避免master节点引发的瓶颈问题,且各个Jmeter相互独立,所以只要job够多,网络带宽没有瓶颈的情况下,就能发起足够大的并发
    2. 做一个压测框架,处理脚本分发、数据分发、结果回传等工作,避免master节点引发问题
    3. 流量发起的要求:在多个城市的数据中心都搭建jmeter slave
  2. 全链路压测流量和数据隔离
    1. 数据隔离:
      1. 对压测流量进行数据标记,以区别真实的流量和数据(改造和扩展各个业务模块或者中间件,以保证链路上的系统都能传递和处理这种特殊的数据标记,同时写库的也需要进行标记,或者专门设置压测数据库)
    2. 实际业务负载的模拟:录制已有的实际用户负载
      1. 录制数据的清洗,如将录制得到的真实数据统一替换成压测准备的数据,如将录制得到的真实用户替换成专门为压测准备的测试用户等
      2. 基于用户模型的估算,按比例方法录制脚本的负载,最后用这个负载用来模拟全链路压测的负载
    3. 测试数据的清理:通过脚本筛选出标记的数据,进行批量处理

        

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值