利器 | 无线驱动的 Android 专项测试方案 Soloπ(开篇)

栏目: 编程工具 · 发布时间: 5年前

内容简介:本文作者温元良(乐舟),蚂蚁金服测试开发技术专家,将于 MTSC2019 大会分享《移动测试 2.0+》议题。在去年的一个周会上,有人抛出个问题,

利器 | 无线驱动的 Android 专项测试方案 Soloπ(开篇)

本文作者温元良(乐舟),蚂蚁金服测试开发技术专家,将于 MTSC2019 大会分享《移动测试 2.0+》议题。 文末有福利

一、前言

在去年的一个周会上,有人抛出个问题, 你觉得测试的意义是什么? 大家七嘴八舌,但价值导向基本一致:希望用户少一些困惑苦恼、多一些便捷美好。也有人意料之中的发了牢骚: 我们测试同学也是用户,扛着 KPI 去忍受各种可测性问题,亟需更好的服务。 庆幸的是,这句话很快的产生了共鸣,于是我与几位感同身受且志同道合的同事,立即决定在这个方向上做点什么。

在一年多的时间里,我们站在 GT、Appium、Macaca、Airtest 等巨人们的肩膀上,在解决 UI 自动化、兼容性、性能测试费时费力 等问题之路上,做出了些许突破。今天起,我们会在 TesterHome 社区将我们具体的实践经验通过系列文章传递给测试领域的各位同仁伙伴,希望大家协力为行业创造更多简单的小美好。

本文我们将针对 Android 专项测试方案 Soloπ 展开核心能力以及局部方案介绍,关于能力的组建过程及方案背后的具体架构解析,后续我们会一一展开。

二、自动化测试框架——Soloπ

有自动化测试经验的同学都知道, 自动化框架的核心能力在于控件查找与事件驱动 。为了能够不依赖 PC 而直接在端上完成常规的自动化测试,提升自动化测试体验,我们在端上构建了一套部署灵活、操作简单、执行高效的自动化框架 Soloπ。

Soloπ 可以在不侵入被测应用的前提下,基于系统的辅助功能以及图像匹配能力的智能查找算法,能够对控件进行精准定位,在端上实现了控件查找能力。Soloπ 通过 无线 ADB 方案 对 Android 应用进行提权,避开了端上应用受系统权限管控的限制,具备了原本 PC 自动化框架借助于 ADB 工具才拥有的便捷操控(如点击、滑动、输入等),在端上实现了事件驱动的能力。

下面先介绍下无线 ADB 方案的原理以及在此基础之上建立的自动化、兼容性以及性能测试的方案,自研的智能查找算法会在后续文章中单独介绍。

1. 无线 ADB 方案

目前市面上的自动化测试、性能测试方案,大多是基于移动设备的 ADB 能力,通常需要 PC 来驱动。Android 系统为了测试、开发人员更好地进行调试,还提供了一种 基于网络通信 (Socket) 的 ADB 连接模式 ,这种模式不需要 USB 连接,只需要保证网络连通即可远程控制设备,因此设备的控制端就不局限于 PC 一种,任何按照 ADB 通信协议与调试端口通信的设备,包括 Android 设备自身,都可以替代 PC 的角色。

目前已经有一些实现 ADB 通信协议的 Java 开源项目,如 AdbLib ,他们封装了一套 ADB 的调试通信服务,能够替代 PC 上 ADB Server 的角色。我们在Soloπ中集成了 AdbLib 开源库,包装成一套ADB命令执行工具,实现了在非 Root 场景下 Android 客户端应用的提权,示意图如下。

利器 | 无线驱动的 Android 专项测试方案 Soloπ(开篇)

2. 基于录制回放自动化测试

为了在端上拥有良好的自动化测试体验,一方面,我们参考了 Appium 的整体设计(Appium 自动化能力基于 UIAutomator,而 UIAutomator 控件查找、事件消息获取的能力来源其与系统辅助功能的通信),在客户端上通过辅助功能AccessibilityService获取屏幕上的控件信息,作为后续自动化操作的原始数据,可以满足大部分场景下的控件查找。

另一方面,我们还参考了 Airtest 的模式,在客户端上实现了一套图像查找算法,能够较好地满足游戏测试等场景。此外,我们还将 UIAutomator Viewer 等 工具 通过鼠标点击查看控件的交互方式移植到 Soloπ 上,通过检测用户点击,在页面视图结构中定位到需要操作的控件并高亮显示。

基于此,Soloπ 可以给用户提供快速定位、操控控件的能力,继而通过组装步骤在端上完成自动化用例的录制。

在完成用例录制后,结合 Soloπ 自研的智能查找算法,对目标控件进行精准定位,在用户无需编写任何代码情况下,实现了一套纯端上的录制回放运作模式,克服了传统自动化框架中环境依赖多、驱动靠 PC、测试代码不易编写等不足,提供了更好的工具使用体验。

利器 | 无线驱动的 Android 专项测试方案 Soloπ(开篇)

3. 基于一机多控的兼容性测试

在录制回放能力的基础上,Soloπ 还实现了一种多机联动的操作模式。在以往的兼容性测试中,业务同学往往需要在多台设备上重复进行测试,这种工作不仅费时费力,而且容易产生遗漏。一机多控(操作一台设备,其他设备都会同步联动)使得业务同学不再需要执行重复操作,可以将注意力更多地放在待测界面在不同设备型号、分辨率或系统版本的显示效果上。

同时任意一台机器都可以作为主机,从机建连不需要后端 Server,一定程度上达到了去传统云测的中心化管理。

4. 基于指标监控和录屏的性能测试

Soloπ 参考了 GT 的部分设计,在无线 ADB 方案的基础上,提供了一套使用便捷、数据比较完善的性能检测工具,能够监控 CPU、内存、FPS、耗电、网络流量等常规指标,其中 CPU、内存为进程维度指标,FPS、网络流量为应用维度指标。

除了采集常规性能指标,Soloπ 还加入了页面加载耗时计算的功能,能够简单快速的获取从用户操作到屏幕变化停止的时长,直观反映用户体感的加载耗时。

三、使用实例

1.自动化测试应用、游戏

  • 删除垃圾邮件

  • 游戏自动化

2.性能测试

  • 常规指标采集

  • 响应耗时计算

利器 | 无线驱动的 Android 专项测试方案 Soloπ(开篇)

3.一机多控的兼容性测试

利器 | 无线驱动的 Android 专项测试方案 Soloπ(开篇)

四、更多增强能力

除本文提到的几点,Soloπ Dev 版本还具备数据 mock、稳定性遍历、网络模拟、Lighthouse 等能力,后续将迭代发布。

更多复杂场景的定制化能力、云端用例管理、远程真机租用、以及完整的测试报告呈现,由移动开发平台 mPaaS 提供整体方案。我们希望通过三端(移动端、IDE 端、云端)三通(能力通、数据通、用户通),为每一位测试同学提供无缝的衔接体验。

欢迎进一步了解移动开发平台 mPaaS :https://tech.antfin.com/docs/2/49549

利器 | 无线驱动的 Android 专项测试方案 Soloπ(开篇)

五、联系我们

欢迎加入Soloπ 体验交流钉钉群,群力群策把工具做得更好。

利器 | 无线驱动的 Android 专项测试方案 Soloπ(开篇)

另,蚂蚁金服包括笔者在内的多位技术专家将在 MTSC2019 大会上分享精彩议题,解密蚂蚁金服内部 移动测试 2.0+ 演进之路代码实时染色系统如何完成代码覆盖率检测 等,期待在 MTSC2019 大会上现场交流。

MTSC2019 测试开发大会 | 倒计时

向顶级测试技术专家和质量大咖学习,全面提升软件质量,尽在 MTSC2019!

MTSC2019   第五届中国移动互联网测试开发大会 将于  2019 年 6 月 28-29 日 在北京国际会议中心举行,60+ 来自 Google、BAT、TMD 等一线互联网企业的测试大咖分享软件质量保障最佳实践,涵盖 移动自动化测试、服务端测试、质量保障 QA、高新测试技术(AI+、大数据测试、IOT 测试),游戏测试,工程效率提升 等专题。

MTSC2019 大会日程发布,门票即将售罄,预购从速!

利器 | 无线驱动的 Android 专项测试方案 Soloπ(开篇)

大会官网

http://2019.test-china.org/

报名地址

https://www.bagevent.com/event/2202999?bag_track=YT

TesterHome 福利时间

利器 | 无线驱动的 Android 专项测试方案 Soloπ(开篇)

转发文章到朋友圈,抽奖赠送 TesterHome 定制版精美礼物(卫衣/图书等)、MTSC2019 测试开发大会门票或优惠折扣,以及其他福利等! 利器 | 无线驱动的 Android 专项测试方案 Soloπ(开篇)

  • Step1: 转发本文到朋友圈,扫描二维码加小助手微信;

  • Step2 : 回复「 福利 」入群抽奖;

  • SteP3 : 回复「 组团 」入群,以 团购优惠价 购买 MTSC2019 门票;

利器 | 无线驱动的 Android 专项测试方案 Soloπ(开篇)

P.S. 对于  MTSC  往届参会者 ,可享受 7.5 折福利 ,请进群咨询;

扫描二维码,或点击“ 阅读原文 ,抢购 门票!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

领域特定语言

领域特定语言

Martin Fowler / ThoughtWorks中国 / 机械工业出版社华章公司 / 2013-3 / 89.00元

本书是DSL领域的丰碑之作,由世界级软件开发大师和软件开发“教父”Martin Fowler历时多年写作而成,ThoughtWorks中国翻译。全面详尽地讲解了各种DSL及其构造方式,揭示了与编程语言无关的通用原则和模式,阐释了如何通过DSL有效提高开发人员的生产力以及增进与领域专家的有效沟通,能为开发人员选择和使用DSL提供有效的决策依据和指导方法。 全书共57章,分为六个部分:第一部分介......一起来看看 《领域特定语言》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

html转js在线工具
html转js在线工具

html转js在线工具