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 |