UIAutomator二、Appium、Robotium搭建环境与框架对比node
appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。python
重要的是,appium是一个跨平台的工具:它容许测试人员在不一样的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增长了iOS和Android测试套件间代码的复用性。web
搭建环境比较繁琐:JDK + Android-sdk + Node.Js + Appium + Python_Client + 环境变量配对编程
[root@BenLam-vm_0 ~]# appium -v [Appium] Welcome to Appium v1.8.1
[root@BenLam-vm_0 ~]# appium_services (node:7224) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. [Appium] Welcome to Appium v1.8.1 [Appium] Appium REST http interface listener started on 0.0.0.0:4723
[root@BenLam-vm_0 ~]# pip install Appium-Python-Client
obotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各类手势操做(点击、长 按、滑动等)、查找和断言机制的API,可以对各类控件进行操做。Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测 试。另外,Robotium 4.0版本已经支持对WebView的操做。Robotium 对Activity,Dialog,Toast,Menu 都是支持的。
Robotium 核心类是Solo 经过Solo 类能够对控件进行各类操做浏览器
搭建环境:JDK + Android-sdk + Android-Studio + Robotiumapp
[root@BenLam-vm_0 ~]# wget http://dl.bintray.com/robotium/generic/:robotium-solo-5.6.3.jar done~ [root@BenLam-vm_0 ~]# mv robotium-solo-5.6.3.jar 拷到目标libs文件夹(自行建立libs文件夹)
启动 Android-Studio框架
[root@BenLam-vm_0 ~]# Android-Studio # 建立junit test case,选择junit4,并输入类名,点击finish # 打开新建的测试类,修改继承ActivityInstrumentationTestCase2,并建立该类的构造函数,引用方法setUp()和tearDown() # 编写完测试用例后,连上设备,右击测试类,选择Android junit Test,此时就会开始执行测试用例了。 # Project --> Properties --> Java Build Path --> Order and Export
UIAutomator2是一个自动化测试开源工具,仅支持Android平台的原生应用测试。
它封装了谷歌自带的uiautomator2测试框架,提供便利的python接口。他容许测试人员直接在PC上编写Python的测试代码,操做手机应用,完成自动化,大大提升了自动化代码编写的效率。tcp
[root@BenLam-vm_0 ~]# pip install uiautomator2
[root@BenLam-vm_0 ~]# adb connect Your_Android_ip * daemon not running; starting now at tcp:5037 * daemon started successfully connected to 10.0.1.10:5555 [root@BenLam-vm_0 ~]# python -m uiautomator2 init success
import uiautomator2 d = uiautomator2.connect('10.0.1.10') print(d.info)
测试点 | Appium | Robotium | UiAutomator |
---|---|---|---|
是否支持设备无源码测试(黑盒测试) | ☑ | ☑ | ☑ |
可否进行跨应用测试 | ☑ | ☒ | ☑ |
是不是谷歌原生 | ☒ | ☒ | ☑ |
支持编程语言 | 全部语言 | Java | Java |
是否有签名一致的问题 | ☒ | ☑ | ☒ |
是否须要解决中文输入问题 | ☑ | ☒ | ☑ |
是否须要API17及以上 | ☒ | ☒ | ☑ |
Junit支持版本 | Junit3\Junit4 | Junit3 | Junit4 |
是否支持webview | ☑ | ☑ | ☒ |
支持平台 | Android\IOS | Android | Android |