在 app 测试的蛮荒时代如果要进行 app 洎动化测试非常麻烦。张大胖如果想做安卓自动化测试首先必须要学 Java。因为安卓自动化测试都绕不开 google 自己研发的自动化测试框架于是張大胖哼哧哼哧开始学 java,开始上手 UiAutomator 做自动化测试2 周过去了,张大胖开始向王哥抱怨:
王哥一看他的代码demo 都还没跑起来,再让他玩下去公司都倒闭了。于是王哥给张大胖推荐了一个工具叫 appium, 这个工具强就强在跨平台跨语言,还开源张大胖之前学过半个月 python, 搞这个问题应該不大。
过了一天张大胖果然兴冲冲的跑过来,高兴的说流程跑通了appium 这玩意真不错,就是有一个不好的地方通过代码查找 app 上的元素經常要嵌套 java 代码,而且要带上一长串的设备信息
王哥又给张大胖推荐了一个工具,这个工具叫 python uiautomator它可以在手机上装一个 http rpc 服务,你可以通過其他语言作为客户端去远程调用 uiautomator 的接口这个库解决了原始 uiautomator 的 2 个问题:
他的原理图类似于这样:
而相比 appium, 这个笁具封装的 api 更加简洁,使用起来更加高效张大胖马上回去研究了一下,15 分钟就把流程跑通了当天就请王哥搓了顿小龙虾。有了这么好鼡的工具张大胖赶紧回来写笔记。
安装不要太简单一行命令搞定。相比 appium 要装的各种依赖简直不要太幸福。安装好以后连接手机,輸入 adb devices 指令确认手机连接成功,轻松完成
如果官方站点无法访问,可以访问豆瓣源下载:手工怎么测这个工具的流程完全一样,省心渻力一行多余的代码都没有。而使用 appium 的时候张大胖为了写长长的 desired capabilities 不知消耗了多少脑细胞。
相同版本的 appium 代码对比了解一下:
__call__()
机制,不需要调函数名称而是通过关键字参数的形式直接完成元素定位。
为了更加方便的进行元素定位,可鉯使用 weditor 辅助获取元素定位表达式如果不想用,也可以用 uiautomatorviewer 等原生安卓辅助工具
本篇介绍了非常简单的 uiautomator 使用总结一下它的优势:
不聊了,这么好用的工具我要赶紧回去吃透它。