17.提高GUI测试稳定性的关键技术

GUI自动化测试稳定性,最典型的表现形式就是,同样的测试用例在同样的环境上,时而测试通过,时而测试失败。
造成GUI测试不稳定的五种因素:

  1. 非预计的弹出对话框
  2. 页面控件属性的细微变化
  3. 被测系统的A/B测试
  4. 随记的页面延迟造成控件识别失败
  5. 测试数据问题

对于这几种因素的解决思路:

  • 非预计的弹出对话框
    非预计的弹出对话框一般包含两种情况:
  1. GUi自动化测试用例执行过程中,操作系统弹出的飞鱼级对话框。
  2. 被测软件本身也有可能在非预期的时间弹出预计的对话框。

解决方法:
当自动化脚本发现控件无法正常定位,或者无法操作时,GUI自动化框架自动进入“异常场景恢复模式”。在“异常场景恢复模式”下,GUI自动化框架依次检查各种可能出现的对话框,一旦确认了对话框的类型,立即执行定义的操作,比如单机“确认”按钮关闭这个对话框,接着重试刚才失败的步骤。
这种方式只能处理已知可能出现的对话框。而对于新类型的对话框,只能通过自动化的方式尝试点击上面的按钮进行处理。每当发现一种潜在会弹出的对话框,我们就把它的详细信息(包括对象定位信息等)更行到“异常场景恢复”库中,下次再遇到相同类型的对话框时,系统就可以自动关闭了。

  • 页面控件属性的细微变化
    解决方法:采用“组合属性”定位控件会更精准,而且成功率会更高,如果能在此基础上加入“模糊匹配”技术,可能以进一步提高控件的识别率。
    “模糊匹配”是指,通过特定的相似度算法,控件属性发生细微变化是,这个控件依旧可以被准确定位。(通常需要二次开发)

  • 北栅系统的A/B测试
    A/B测试,是互联网产品常用的一种测试方法。它为Web和App的界面或流程提供两个不同的版本,然后让用户随记访问其中一个版本,并收集两个版本的用户体验数据和业务数据,最后分析出最好的版本用于正式发布。
    A/B测试通常会发布到实际生产环境,所以就会造成生产环境中GUI自动化测试不稳定。
    解决方法:在测试脚本内部对不同的被测版本做分支处理,脚本需要能够区分A和B两个的不同版本,并作出相应的处理。

  • 随记的页面延迟造成控件识别失败
    解决方法:加入重试(retry)机制,重试机制是指,当某一步GUI操作失败时,框架会自动发起重试,重试可以是步骤级别的,也可以是页面级别的,甚至是业务流程级别的。需要自己二次开发来实现。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值