UI自动化测试如何加强稳定性

UI自动如何加强稳定性

很多人谈到UI自动化,第一个就是觉得投入产出比低,没有做的必要;确实ui自动化在投入上的成本确实是高,特别是当脚本不稳定和页面变化频繁的情况下维护成本是巨大的;而且UI自动化能发现的bug也相对较少,所以大部分公司都不会选择UI自动化。但如果要做那要怎么做呢,下面就来聊下我这边实现UI自动化的一些心得

一、需求的选取

这里分析需求主要是分析哪些能做哪些不能做,我这边就很简单,长期稳定不变的而且需要经常回归的做,其他一律不做,当然这个也是看公司需求,因为我们公司还有做接口测试,所以我选择做UI自动化的门槛就定的比较死,一般用于加快回归效率;这样子选择只有脚本够稳定一般就不需要在后期的维护上投入过多时间。这个的其实我觉得如果功能不稳定还需要反复修改的确实没有必要做,不然光后期的维护都要花生不少时间。

二、脚本的编写

  1. PageObject模式
    脚本的编写现在大多都会推荐使用pageobject模式,笔者也是使用这种模式,但是很多人编写出来的整体架构是有异与pageobject设计原则,所以大家在设计PageObject模式大家应该先学习其设计原则:

     ●  The public methods represent the services that the page offers 
     ●  Try not to expose the internals of the page 
     ●  Generally don't make assertions 
     ●  Methods return other PageObjects 
     ●  Need not represent an entire page 
     ●  Different results for the same action are modelled as different method
    

    使用pageobject设计模式编写出优秀的自动化脚本能够降低日后维护的成本

  2. 元素定位

    • 元素的定位尽量使用唯一定位,减少使用依赖页面的具体结构,例如元素的位置、父子关系等,这些都可能受到页面布局的影响,从而导致元素定位不稳定。
    • 灵活使用等待机制,页面等待的三种方式大家应该都熟悉,网上一直都是机械式的说尽量避免使用sleep,避免浪费时间,但是就我来说,我觉得该等就等,在需要等待时选取最适合的就好;别因为要省一点等待时间导致脚本不稳定,这样子得不偿失,不如在页面渲染之类的想想办法减少不必要的时间浪费。
    • 定位方式,一般来说xpath、css其中一种都能够完成绝大部分的定位,但是尽量还是熟知各种定位方式,不同元素可灵活使用各种定位方式,然后选择最合适稳定的
    • 独特定位元素,跟开发交流给个独有的元素进行定位,这个是最稳定的,但是要看和开发的关系了
  3. 增加元素定位失败自动维护

    • 使用多个定位方式进行备选:在进行元素定位时,可以使用多个定位方式进行备选,例如先使用ID定位,如果定位失败,则尝试使用CSS选择器进行定位。多个定位方式可以提高元素定位的成功率和稳定性。
    • 增加元素定位失败自动维护功能,当元素定位失败后自动取获取页面上醉相似元素进行更新,并重新执行测试用例,这样可以提高脚本的稳定性
  4. 用例失败重试

    • 黑名单关闭,如果定位没问题,逻辑问题很有可能存在弹框问题;可以将这些弹框存入黑名单,在用例失败时检查是否有这些东西,有的话全部关闭掉再进行用例执行
  5. 日志模块

    • 对每个用例添加日志记录是很有必要的,重要性我也不多说了反正得有就对了

以上就是一些我觉得能够提高UI自动化稳定性的方法,具体实现方式有很多,大家可以自行实现,若有别的建议欢迎提出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值