更新时间:2022-06-10 05:29:01
关联上文:自动化测试总结(一)
其他参考文档见文末
关于这个问题,最典型的情景就是:同样的测试用例,在同样的测试执行环境下,测试的结果有时是Success,有时是Fail,这严重降低了GUI测试的可信性,同时也是GUI层面的自动化测试位于金字塔最顶端的原因之一。
在实际的项目过程中,GUI测试几乎不可能做到100%稳定,根据我的经验,如果能够做到 90% 以上的稳定性,就已经非常不错了,这需要整个产品技术团队的共同努力才有希望达成。
要提高 GUI 测试稳定性,首先我们需要知道到底是什么原因引起的不稳定。我们必须找出尽可能多的不稳定因素,然后找到每一类不稳定因素对应的解决方案。我列举了几种常见的造成GUI测试不稳定的因素,如下:
解决方案:异常场景恢复模式?***面GUI自动化测试?
解决方案:元素定位采用模糊匹配技术?
Wait For Condition
Wait Until Element Contains
Wait Until Element Does Not Contain
Wait Until Element Is Enabled
Wait Until Element Is Not Visible
Wait Until Element Is Visible
Wait Until Page Contains
Wait Until Page Contains Element
Wait Until Page Does Not Contain
Wait Until Page Does Not Contain Element
解决方案:重试机制retry
解决方案:保证用例之间的独立性和尽量减少对执行环境的依赖
界面自动化测试,它最接近用户真实场景,也容易发现问题,但它的实现成本最高且太容易受外部依赖,容易影响脚本成功率。总体来说,适当的界面自动化测试是有必要的,但是真的没有必要在UI层投入太多精力。
【To be continued...】
参考文档