加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

支付宝开源非侵入式 Android 自动化测试工具 Soloπ

发布时间:2019-07-15 15:14:06 所属栏目:Windows 来源:乔瑞凯
导读:副标题#e# Solo(SoloPi)是支付宝开源的一个无线化、非侵入式的Android自动化测试工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间。 本文是SoloPi团队关于项目的深度解读, 作者:乔瑞凯,蚂蚁金服高级无线开发

在回放时,Soloπ 会逐条解析之前录制的数据,通过智能查找算法,综合各种属性,定位目标控件,找到控件后,就会执行相应的操作,如点击、滑动等。在所有步骤执行后,会展示本次回放的结果,包括日志、截图等信息,作为本次回放的总结。

控件查找能力

对于传统的 Native 应用,通过 UiAutomator dump 获取的属性就足以实现自动化了。然而,随着移动端动态化能力的稳步发展,越来越多的应用采用了 “Native + H5/小程序” 这种混合开发的方案。再考虑到近年来手游行业的飞速发展,手机游戏自动化测试的需求也越来越多。为了尽可能的适配各种场景,Soloπ 提供了三种查找模式:

支付宝开源非侵入式 Android 自动化测试工具 Soloπ

  • 第一种方案不必多说,核心就是基于 AccessbilityService 生成当前控件视图树,并记录下id、文字等属性,适用于 Native 场景

  • 第二种方案基于 Chrome 的调试协议,通过注入js可以获得页面布局以及各元素属性,控件的定位思路与辅助功能这一套方案是一致的。适用于 H5/小程序场景。

  • 第三种方案是图像匹配方案,Soloπ 在端上实现了一套图像比对能力,结合了模板匹配、特征匹配等算法,并做了一定的适配和调优。适用于游戏自动化的场景。此外,在 Soloπ 目前的方案中,图像匹配能力还会作为前两种定位方式的兜底方案,进一步的提升控件查找的准确率。

回放能力

通过 Soloπ 录制的用例会以 JSON 的形式存储起来,用例不仅可以向上述视频演示的一样在设备本地直接回放,还可以通过 Soloπ 的解析器将用例转换为 Appium、Macaca 等目前主流自动化测试框架的脚本,轻松打通云测平台。另外,得益于文本抓取和图像识别能力,Soloπ 还实现了在 Android 端录制一遍用例,生成的脚本能够同时在 Android、iOS 双端回放的能力。

支付宝开源非侵入式 Android 自动化测试工具 Soloπ

更多功能

Soloπ 还提供了用例步骤的插入、删除、修改等用例编辑功能,可以有效降低用例的维护成本。另外,Soloπ 还引入了循环、条件等流程控制能力,若对用例进行合理编排,可轻松实现需要重复操作的工具脚本或是需要暴力回放的稳定性测试脚本。

支付宝开源非侵入式 Android 自动化测试工具 Soloπ

录制回放更多的能力还包括结合数据 Mock 解决用例回放不稳定的能力、打通性能测试的能力等等。

一机多控

在各类专项测试中,兼容性测试是最为耗时费力的一项,测试人员需要关注各种系统版本、各大手机厂商,各种类型的屏幕等等,想要通过纯人工测试来保证兼容性测试的质量成本是非常高的。

Soloπ 在录制回放能力的基础上实现了一套兼容性测试的解决方案。在录制回放的场景中,我们先是在一台设备上记录了用户的操作,然后再在任意一台设备上实现操作的回放。如果把场景扩展到多台设备上,就可以实现通过一台设备操控多台设备,我们把这套功能称为“一机多控”。具体说来就是主机与从机建立 Socket 连接,然后在主机上将用户的操作实时发送到各个从机,在从机上完成操作的回放。

支付宝开源非侵入式 Android 自动化测试工具 Soloπ

一机多控的环境搭建比较灵活,手边的手机在安装 Soloπ 后,通过简单的建联操作即可完成部署。一机多控适配了目前市面上主流机型和 ROM,并封装了一些提升测试效率的快捷功能,如应用安装、数据清理、设备信息查看等等。

支付宝开源非侵入式 Android 自动化测试工具 Soloπ

性能测试

提到专项测试,不得不提性能测试。近年来,手机应用成为了人们日常生活中不可或缺的一部分,这也对应用的使用体验提出了更高的要求。 为了给用户带来“丝般顺滑”的体验,仅仅实现功能是不够的,而性能测试,就是打造优质应用不可或缺的一个环节。然而,性能测试的开展并不是很容易,一方面,性能测试具有一定的门槛,很多时候需要开发脚本去实现,还要去处理各类兼容性问题。另一方面,大多数性能测试方案获取到的都是一些基本指标,难以发现深层次的问题。针对上述问题,Soloπ 实现了一套性能测试工具。包含常规性能指标获取、响应耗时计算以及移动 Lighthouse 三方面功能。

常规性能指标获取

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!