安卓自動化-----常用自動化工具


一、自動化工具

1、Android Debug Bridge(ADB)即安卓調試橋,是Google提供的為Android編寫UI測試用例的自動化工具;

2、UIAutomator  Google提供的為Android編寫UI測試用例的自動化工具;

3、UIAotomator2   uiautomator2 是一個可以使用Python對Android設備進行UI自動化的庫;

4、appium   跨平台的測試框架, 同時支持iOS和Android。


二、詳細介紹

1、安卓調試橋

ADB是一個C/S架構的應用程序,由三部分組成:
運行在pc端的adb client:
命令行程序”adb”用於從shell或腳本中運行adb命令。首先,“adb”程序嘗試定位主機上的ADB服務器,如果找不到ADB服務器,“adb”程序自動啟動一個ADB服務器。接下來,當設備的adbd和pc端的adb server建立連接后,adb client就可以向ADB servcer發送服務請求;
運行在pc端的adb server:
ADB Server是運行在主機上的一個后台進程。它的作用在於檢測USB端口感知設備的連接和拔除,以及模擬器實例的啟動或停止,ADB Server還需要將adb client的請求通過usb或者tcp的方式發送到對應的adbd上;
運行在設備端的常駐進程adb demon (adbd):
程序“adbd”作為一個后台進程在Android設備或模擬器系統中運行。它的作用是連接ADB服務器,並且為運行在主機上的客戶端提供一些服務。

 

2、 UiAutomator
UiAutomator是谷歌在Android4.1版本發布時推出的一款用Java編寫的UI測試框架,基於Accessibility服務。其最大的特點就是可以跨進程操作,可以使用UiAutomator框架提供的一些方便的API來對安卓應用進行一系列的自動化測試操作,如點擊、滑動、鍵盤輸入、長按以及常用的斷言方法等。

要使用該工具,需要滿足如下條件:

Android SDK Tools, Revision 21 or higher
Android SDK Platform, API 18 or higher


在Android SDK 4.3中提供了如下工具來支持UI自動化測試:

 

3、UIAotomator2 

1.環境搭建便捷
2.UI控件識別有專業工具,可視化好
3.UI自動化編寫采用python,學習成本低
4.UI自動化腳本運行穩定

缺點:
存在設備兼容性問題,如:
華為手機,無法通過IP離線執行UI自動化
三星S8手機微信webview頁面無法識別元素

 

4、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與Selenium
appium類庫封裝了標准Selenium客戶端類庫,為用戶提供所有常見的JSON格式selenium命令以及額外的移動設備控制相關的命令,如多點觸控手勢和屏幕朝向。

appium客戶端類庫實現了Mobile JSON Wire Protocol(一個標准協議的官方擴展草稿)和W3C WebDriver spec(一個傳輸不可預知的自動化協議,該協議定義了MultiAction 接口)的元素。

appium服務端定義了官方協議的擴展,為appium 用戶提供了方便的接口來執行各種設備動作,例如在測試過程中安裝/卸載App。這就是為什么我們需要appium特定的客戶端,而不是通用的Selenium 客戶端。當然,appium 客戶端類庫只是增加了一些功能,而實際上這些功能就是簡單的擴展了Selenium 客戶端,所以他們仍然可以用來運行通用的Selenium會話。

 


免責聲明!

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



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