Hi,我是云测自动化研发工程师,关于我可以看这个链接:一只误入歧途的资深自动化研发(待写)
系列文章:细数UIAutomator缺点(待写)
专题:android自动化测试(待写)
关于云测的自动化测试技术:我不说你肯定不知道原来Testin云测自动化技术在某种程度上讲已经超越了谷歌(待写)
综述
本文讨论的是关于UIAutomator版本的吐槽,我们都知道UIAutomator分为两个版本,1.0和2.0
如下是两者的对比
1.0 | 2.0 | |
---|---|---|
最低Android版本分界线 | 大于或等于16 | 大于或等于18 |
运行包形式 | jar | apk |
权限 | shell级别 | 自身apk权限赋予 |
UIAutomator1.0
官网已经没有1.0的链接了,只有2.0的,我在其他地方找到老学习链接:https://stuff.mit.edu/afs/sipb/project/android/docs/tools/help/uiautomator/index.html
UIAutomator的运行包是一个jar包,运行命令大致如
yourtest.jar是你的jar在android系统的具体文件路径,通常放在/data/local/tmp/目录下 |
运行起来后,我们用命令查看UIAutomator1.0的进程是shell的
chengmingdembp:Downloads cmlanche$ adb shell ps | grep uia |
所以它的权限是比较高的,启动之后便可以执行,也不需要安装,虽然它在这方面很便利,但它的获取控件信息的能力很鸡肋,只能获取到一个AccessibilityNodeInfo的root节点,而实际上,多root的情况是普遍存在的,尤其是5.0以后的android版本。
虽然它很鸡肋,但是它可以用来做安装UIAutomator2.0之前的操作,UIAutomator2.0需要自动安装,那么1.0的话就必须安装了,用它来自动点击UIAutomator2.0的安装对话框,在2.0启动之前的所有安装与权限框处理过程,都可以用1.0来做。
UIAutomator2.0
2.0是一个安装包的形式来做测试的,它拥有什么权限需要你自己去设定,谷歌现在官方只支持2.0,就说明谷歌对它有足够的重视。
官网:https://developer.android.com/training/testing/ui-automator
更好上网请用:expressvpn
2.0加入了Instrument支持,它的执行命令类似这样的:
详情请到官网学习 |