Android自动化测试探索(二)常用自动化工具
Android常用自动化工具
- ADB - 是Google提供的为Android编写UI测试用例的自动化工具, Android开发/测试人员不可替代的强大工具
- uiautomator - 是Google提供的为Android编写UI测试用例的自动化工具
- uiaotomator2 - uiautomator2 是一个可以使用Python对Android设备进行UI自动化的库。
- appium - 跨平台的测试框架, 同时支持iOS和Android
ADB简介
可以参考这篇: ADB详细介绍
uiaotomator简介
UIAutomator是android的自动化测试框架,可跨APP。与instrumentation框架不同,UIAutomator不需要测试对象源码,因此,为黑盒测试框架。同时,与Monkey不同,UIAutomator不以坐标为主线,而是通过控件属性过滤(比如搜索文本为“提交”的按钮),获取控件本身。这很像小时候玩红白机游戏所用的金手指软件。
Android SDK提供了UIAutomatorView工具,用于获取APP的布局信息,间接辅助测试。关于工具的使用,可以参照之前的博文http://m.blog.csdn.net/daihuimaozideren/article/details/78226810,这里就不再叙述。
说一句“欲练此功必先自宫”的话,省得部分同学浪费时间。
UIAutomator的缺点,是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。
关于UIAutomator的官方文档,可参照官方文档
uiautomator2简介
uiautomator2 是一个Android UI自动化框架,支持Python编写测试脚本对设备进行自动化。底层基于Google uiautomator
uiautomator2和uiautomator的区别
1、api不同但也差不多
2、Uiautomator2是安卓项目,而Uiautomator是java项目
3、Uiautomator2可以输入中文,而Uiautomator的java工程需借助utf7输入法才能输入中文
4、Uiautomator2必须明确EditText框才能向里面输入文字,Uiautomator直接指定父类也可以在子类中输入文字
5、Uiautomator2获取控件速度快写,而Uiautomator获取速度慢一些;
appium简介
appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。
-
“移动原生应用”是指那些用iOS或者 Android SDK 写的应用(Application简称app)。
-
“移动web应用”是指使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome)。
-
“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,像 Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。
重要的是,appium是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性。