3分鐘瞭解Appium:使用appium做Android手機自動化測試!
網上寫Appium相關資料的文章已經多如牛毛,今天我所提到的內容或許是你不太瞭解的,希望能在3分鐘時間為各位看官帶來不一樣的收穫~~
Appium這個聽起來既生疏也熟悉的自動化測試工具,比起原生的UiAutomator可能是異常的不起眼,可是卻是有自身獨當一面的能力,可以完成許多高難度作業,完成UiAutomator不可能完成的一些任務,可以說appium豐富了UiAutomator的功能,使UiAutomator可以完成更多的任務。
Appium到底有哪些優勢會讓我們優先選擇它去做自動化呢?
一、一句話概括Appium
一款應用於移動端的自動化測試框架,支援跨平臺應用,Native、Hybird、Mobile Web都支援。其特點概括一下:
跨平臺只要一套程式碼
不需要設定簽名,不汙染原始碼
不需要專案原始碼就可以測試
多語言支援
可支援多種通用框架
完全開源,社群活躍
二、初步認識appium工作過程
1.appium有C/S模式
2.appium是基於webdriver協議對移動裝置自動化api擴充套件而成的,所有具有和webdriver一樣的特性,比如多語言支援。
3.webdriver是基於http協議的,第一連線會建立一個session會話,並透過post傳送一個json告知服務端相關測試資訊。
4.對於Android來說,4.2以後是基於UiAutomator框架實現查詢注入事件的,4.2以前則是instrumentation框架的,並封裝成一個叫Selendroid提供服務。
5.客戶端只需要傳送http請求實現通訊,意味著客戶端就是多語言支援的。
6.appium服務端是node.js寫的,所以安裝那個平臺都是先安裝node,然後npm install -g appium(需要FQ)。
三、環境搭建
步驟:
1.java開發環境JDK
2.android SDK(platform/platform tools/tools/build tools)
3.python下載安裝(pip)
4.appium下載安裝(服務端+客戶端)
5.安裝appium-python-client
6.安裝unittest
第一步
安裝JDK,安裝完成後配置環境變數。
cmd下java -version檢查環境變數是否配置成功。
第二步
安裝Android SDK(安卓軟體開發包),測試Android手機必然是要安裝Android SDK。
解壓後將資料夾新增到環境變數中,新增環境變數,必須建立一個名為ANDROID_HOME的變數。
雙擊SDK Manager,選裝工具。必裝:Tools資料夾下Android SDK Platform-tools和Android SDK Build-tools,Android SDK Tools可以選擇是否更新,建議網速OK直接更新。GoogleFQ安裝:Extras資料夾下所有的全部安裝。
Path環境變數中新增ANDROID_HOME、tools、platform-tools、build-tools目錄。儲存修改。
環境變數配置完成後,連線安卓手機,並將Android手機的開發者選項-USB除錯開啟。
在CMD下執行,adb devices,出現下圖樣式則代表透過adb命令,獲取到了連線在電腦上Android手機的UDID。
adb devices在獲取連線的安卓手機時,一定會遇到很多坑,這裡我們梳理下可能會遇到的坑。
1、手機USB除錯一定要開啟。
2、多找兩根USB線,排除線的問題。
3、多換幾個USB介面,排除USB個別介面不好使問題(如:3.0 與 2.0)
4、驅動程式,透過裝置管理器檢視是否安裝驅動或驅動不是最新。
5、更新adb_usb.ini檔案,少數電腦不能識別Android手機時,可以將裝置管理器下的Android手機的VID、PID增加到adb_usb.ini檔案中。
將VID、PID中“_”後的4位數增加到adb_usb.ini下(注:adb_usb.ini預設在C盤當前使用者家目錄下的.android目錄下)
理論上這些操作都操作一遍後,基本adb devices就可以找到Android手機了。
第三步
安裝node.js,之後就可以直接透過npm安裝Appium。(注:npm類似於Python的pip,一個非官方包管理器)
根據自己的作業系統下載不同版本的node.js
node.js的安裝一路傻瓜式next就可以了,安裝成功後會自動新增環境變數。
安裝成功後,檢測下npm是否可用。
第四步
安裝appium服務端,可透過cmd 下輸入 npm install -g appium 進行安裝。
如果npm install -g appium特別慢,無法下載時,可以用國內的映象npm --registry install -g appium
安裝如果失敗可以嘗試透過cnpm安裝appium
透過npm命令安裝cnpm
npm install -g cnpm --registry=
透過cnpm安裝appium
cnpm install -g appium --no-cache
安裝成功後,透過appium -v 檢視當前appium版本,直接輸入appium則啟動appium server端。
如果仍無法下載appium服務端,那就只能在Appium官方網站上下載作業系統相應的Appium版本。
當前最新版本為 AppiumForWindows_1_4_16_1.zip ,注意這是一個 Windows 版本,如果你的電腦為MAC請下載 appium-1.5.3.dmg 。
我們以 Windows 為例,將下載的 AppiumForWindows.zip 進行解壓,點選 appium-installer.exe 進行安裝。
雙擊啟動,appium server 介面如下。
最後,開啟Windows命令提示符,輸入“appium-doctor”命令,如果出現以下提示,說明你Appium所需要的各項環境都已準備完成。
注:如果提示:“appium-doctor”不是內部或外部命令,找到Appium的安裝目錄,例如:
C:\Program Files\Appium\node_modules\.bin
新增到環境變數path下面。
第五步
安裝appium客戶端,用於抓取app上定位資訊。
雙擊安裝,安裝成功後左面會有一個appium的快捷方式。
到這裡Windows-Android-appium的所有環境就已經搭建完成了。
總結:
Appium目前是一種比較先進的測試工具,可以覆蓋到UiAutomator所涉及的各個方面,還能完成webview的自動化測試,但是部署環境較複雜,而且出現很多的異常情況很難去定位到問題,同時網上資料也比較匱乏,導致其普及範圍不是很廣,希望這篇文章可以幫助需要用到appium工具的同學,快速越過搭建環境這一關,快速投入到混合型App的自動化測試當中。
歡迎加入 51軟體測試大家庭,在這裡你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟體測試技術乾貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ 群: 755431660
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2285934/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python+appium+pytest做app自動化測試PythonAPP
- Appium 做 flutter 自動化測試實踐&採坑APPFlutter
- Jenkins整合appium自動化測試(Windows篇)JenkinsAPPWindows
- appium uiautomator 移動端自動化測試工具APPUI
- Android + Appium 自動化測試完整的環境配置及程式碼詳解AndroidAPP
- 『與善仁』Appium基礎 — 8、Appium自動化測試框架介紹APP框架
- appium自動化APP
- 搭建appium+python自動化測試環境APPPython
- Appium自動化測試之常用的adb命令APP
- iOS appium UI 自動化測試配置可控 xpathiOSAPPUI
- Appium自動化(15) - 針對 webview 進行自動化測試APPWebView
- APPIUM-Android自動化元素定位方式APPAndroid
- 自動化之旅--AppiumAPP
- Android常用9種自動化測試框架對比,Appium有哪些優勢?Android框架APP
- appium 自動化測試,無法獲取具體元素APP
- 搭建基於C#和 Appium 的 Android自動測試環境C#APPAndroid
- Appium自動化(9) - appium元素定位的快速入門APP
- robotframework + appium進行自動化測試時遇到的問題FrameworkAPP
- Appium+Python實現iOS自動化測試~環境搭建APPPythoniOS
- 測試開發之自動化篇-Appium指令碼開發APP指令碼
- android appium微信等自動化的那些坑兒AndroidAPP
- Appium自動化(7) - 控制元件定位工具之Appium 的 InspectorAPP控制元件
- Appium+python自動化54-appium-doctor報錯已解決(SyntaxError: Unexpected token ...)APPPythonError
- Appium自動化(10) - appium高階元素定位方式之 UI Automator API 的詳解APPUIAPI
- Appium+python自動化(十二)- Android UIAutomator終極定位凶器(超詳解)APPPythonAndroidUI
- 怎麼結合 airtest 和 appium 做 app 的 ui 自動化AIAPPUI
- App 自動化,Appium 憑什麼使用 UiAutomator2?APPUI
- ios+appium 自動化 click 無效iOSAPP
- java+appium 自動化環境搭建JavaAPP
- Appium(Python)驅動手機淘寶AppAPPPython
- [opendx] 基於 appium 的移動端 UI 自動化測試平臺-介紹篇APPUI
- stf+appium app 真機自動化平臺實現APP
- 使用 testng 做介面自動化測試
- pyest+appium實現APP自動化測試,思路全總結在這裡APP
- app 自動化測試 - 多裝置併發 -appium+pytest+ 多執行緒APP執行緒
- Windows 下成功 Appium+python+iOS 自動化WindowsAPPPythoniOS
- 『與善仁』Appium基礎 — 14、Appium測試環境搭建APP
- iOS自動化測試的那些乾貨:關於appium啟動報錯問題的解決辦法iOSAPP