Android手机QQ的UI自动化实践,为什么spring能最好地改变Android

本文介绍了在Android手机QQ项目中,为何选择UiAutomator作为自动化测试框架,并详细阐述了QTS(QQ Testcase Service)封装模式,这是一种结合3A原则(Arrange、Act、Assert)的自动化测试解决方案,旨在提高测试用例的维护性和快速铺量。此外,还提及了使用内部开源的录制回放工具加速自动化进程。
摘要由CSDN通过智能技术生成

按照部门的要求,我们本次的自动化需要用到同源(同语言同工程)的形式,而且针对手Q很多复杂的场景,我们需要稳定复现,所以我们排除了QTA、Appium、AirTest等框架,最终选择了UiAutomator。

UiAutomator是Google官方提供的同源测试框架,它的底层使用了Android的系统级服务AccessibilityService,关于这一块的介绍,可以看文章:《从Android手机的抢红包插件说起 》

官方文档传送门:UI Automator | Android Developers

封装模式


在上一步环节中,我们虽然确定了自动化框架,但是框架只提供底层的驱动能力,如果无统一封装模式进行规范,随着用例的增多会变得难以维护,所以我们需要一个统一模式来封装细节,可以使 testcase 更稳健,不需要大改动。即我们需要对UiAutomator API进行二次封装。

业界最常见的一种封装模式是Page Object模式,“页面即对象”。这种封装模式把一个页面看做一个对象,把页面上的控件(按钮、图片等)元素当做对象的属性,把对页面上的控件操作(如点击某按钮)当做对象的方法。这种封装模式的优势是维护简单,对于页面的某些改动,只需要维护该页面对应的对象。劣势是代码复用率较低,不利于大规模铺量

还有一种常见的封装模式是Scene模式,“场景化封装”。这种封装模式就是按照用例的场景,也不需要API的二次封装,简单粗暴去实现。这种封装模式的优势是简单粗暴,可读性高。劣势是代码复用率低,十分冗长

我们的痛点是,需要快速铺量,那按照用例场景,所见即所得的代码方式,的确是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值