UIAutomator2、Appium、Robotium搭建環境與框架對比


UIAutomator2、Appium、Robotium搭建環境與框架對比


一.框架介紹

Appium

特點

appium 是一個自動化測試開源工具,支持 iOS 平台和 Android 平台上的原生應用,web應用和混合應用。

  • “移動原生應用”是指那些用iOS或者 Android SDK 寫的應用(Application簡稱app)。
  • “移動web應用”是指使用移動瀏覽器訪問的應用(appium支持iOS上的Safari和Android上的 Chrome)。
  • “混合應用”是指原生代碼封裝網頁視圖——原生代碼和 web 內容交互。比如,像 Phonegap,可以幫助開發者使用網頁技術開發應用,然后用原生代碼封裝,這些就是混合應用。

重要的是,appium是一個跨平台的工具:它允許測試人員在不同的平台(iOS,Android)使用同一套API來寫自動化測試腳本,這樣大大增加了iOS和Android測試套件間代碼的復用性。

安裝Appium

搭建環境比較繁瑣:JDK + Android-sdk + Node.Js + Appium + Python_Client + 環境變量配對

[root@BenLam-vm_0 ~]# appium -v
[Appium] Welcome to Appium v1.8.1

通過命令啟動 Appium

[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

Python 客戶端安裝

[root@BenLam-vm_0 ~]# pip install Appium-Python-Client

Robotium

特點

obotium是一款國外的Android自動化測試框架,主要針對Android平台的應用進行黑盒自動化測試,它提供了模擬各種手勢操作(點擊、長 按、滑動等)、查找和斷言機制的API,能夠對各種控件進行操作。Robotium結合Android官方提供的測試框架達到對應用程序進行自動化的測 試。另外,Robotium 4.0版本已經支持對WebView的操作。Robotium 對Activity,Dialog,Toast,Menu 都是支持的。
Robotium 核心類是Solo 通過Solo 類可以對控件進行各種操作

下載Robotium

搭建環境:JDK + Android-sdk + Android-Studio + Robotium

[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文件夾)

啟動Robotium

啟動 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

特點

UIAutomator2是一個自動化測試開源工具,僅支持Android平台的原生應用測試。
它封裝了谷歌自帶的uiautomator2測試框架,提供便利的python接口。他允許測試人員直接在PC上編寫Python的測試代碼,操作手機應用,完成自動化,大大提高了自動化代碼編寫的效率。

安裝UIAutomator2

[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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM