溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用appium做Android手機自動化測試

發(fā)布時間:2021-09-13 11:37:39 來源:億速云 閱讀:161 作者:柒染 欄目:網(wǎng)絡(luò)管理

這篇文章給大家介紹如何使用appium做Android手機自動化測試,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Appium這個聽起來既生疏也熟悉的自動化測試工具,比起原生的UiAutomator可能是異常的不起眼,可是卻是有自身獨當一面的能力,可以完成許多高難度作業(yè),完成UiAutomator不可能完成的一些任務(wù),可以說appium豐富了UiAutomator的功能,使UiAutomator可以完成更多的任務(wù)。

Appium到底有哪些優(yōu)勢會讓我們優(yōu)先選擇它去做自動化呢?

如何使用appium做Android手機自動化測試

一、一句話概括Appium

一款應(yīng)用于移動端的自動化測試框架,支持跨平臺應(yīng)用,Native、Hybird、Mobile Web都支持。其特點概括一下:

跨平臺只要一套代碼

不需要設(shè)置簽名,不污染源代碼

不需要項目源代碼就可以測試

多語言支持

可支持多種通用框架

完全開源,社區(qū)活躍

二、初步認識appium工作過程

1.appium有C/S模式

2.appium是基于webdriver協(xié)議對移動設(shè)備自動化api擴展而成的,所有具有和webdriver一樣的特性,比如多語言支持。

3.webdriver是基于http協(xié)議的,第一連接會建立一個session會話,并通過post發(fā)送一個json告知服務(wù)端相關(guān)測試信息。

4.對于Android來說,4.2以后是基于UiAutomator框架實現(xiàn)查找注入事件的,4.2以前則是instrumentation框架的,并封裝成一個叫Selendroid提供服務(wù)。

5.客戶端只需要發(fā)送http請求實現(xiàn)通訊,意味著客戶端就是多語言支持的。

6.appium服務(wù)端是node.js寫的,所以安裝那個平臺都是先安裝node,然后npm install -g appium(需要FQ)。

三、環(huán)境搭建

步驟:

1.java開發(fā)環(huán)境JDK

2.android SDK(platform/platform tools/tools/build tools)

3.python下載安裝(pip)

4.appium下載安裝(服務(wù)端+客戶端)

5.安裝appium-python-client

6.安裝unittest

第一步

安裝JDK,安裝完成后配置環(huán)境變量。

如何使用appium做Android手機自動化測試

cmd下java -version檢查環(huán)境變量是否配置成功。

第二步

安裝Android SDK(安卓軟件開發(fā)包),測試Android手機必然是要安裝Android SDK。

下載地址: http://tools.android-studio.org/index.php/sdk/

解壓后將文件夾添加到環(huán)境變量中,添加環(huán)境變量,必須創(chuàng)建一個名為ANDROID_HOME的變量。

雙擊SDK Manager,選裝工具。必裝:Tools文件夾下Android SDK Platform-tools和Android SDK Build-tools,Android SDK Tools可以選擇是否更新,建議網(wǎng)速OK直接更新。GoogleFQ安裝:Extras文件夾下所有的全部安裝。

如何使用appium做Android手機自動化測試

如何使用appium做Android手機自動化測試

如何使用appium做Android手機自動化測試

Path環(huán)境變量中添加ANDROID_HOME、tools、platform-tools、build-tools目錄。保存修改。

環(huán)境變量配置完成后,連接安卓手機,并將Android手機的開發(fā)者選項-USB調(diào)試打開。

在CMD下執(zhí)行,adb devices,出現(xiàn)下圖樣式則代表通過adb命令,獲取到了連接在電腦上Android手機的UDID。

adb devices在獲取連接的安卓手機時,一定會遇到很多坑,這里我們梳理下可能會遇到的坑。

1、手機USB調(diào)試一定要打開。

2、多找兩根USB線,排除線的問題。

3、多換幾個USB接口,排除USB個別接口不好使問題(如:3.0 與 2.0)

4、驅(qū)動程序,通過設(shè)備管理器查看是否安裝驅(qū)動或驅(qū)動不是最新。

5、更新adb_usb.ini文件,少數(shù)電腦不能識別Android手機時,可以將設(shè)備管理器下的Android手機的VID、PID增加到adb_usb.ini文件中。

將VID、PID中“_”后的4位數(shù)增加到adb_usb.ini下(注:adb_usb.ini默認在C盤當前用戶家目錄下的.android目錄下)

理論上這些操作都操作一遍后,基本adb devices就可以找到Android手機了。

第三步

安裝node.js,之后就可以直接通過npm安裝Appium。(注:npm類似于Python的pip,一個非官方包管理器)

官方下載地址: https://nodejs.org/en/download/

根據(jù)自己的操作系統(tǒng)下載不同版本的node.js

node.js的安裝一路傻瓜式next就可以了,安裝成功后會自動添加環(huán)境變量。

安裝成功后,檢測下npm是否可用。

第四步

安裝appium服務(wù)端,可通過cmd 下輸入 npm install -g appium 進行安裝。

如果npm install -g appium特別慢,無法下載時,可以用國內(nèi)的鏡像npm --registry http://registry.cnpmjs.org install -g appium

安裝如果失敗可以嘗試通過cnpm安裝appium

通過npm命令安裝cnpm

npm install -g cnpm --registry= https://registry.npm.taobao.org

通過cnpm安裝appium

cnpm install -g appium --no-cache

安裝成功后,通過appium -v 查看當前appium版本,直接輸入appium則啟動appium server端。

如果仍無法下載appium服務(wù)端,那就只能在Appium官方網(wǎng)站上下載操作系統(tǒng)相應(yīng)的Appium版本。

https://bitbucket.org/appium/appium.app/downloads/

當前最新版本為 AppiumForWindows_1_4_16_1.zip ,注意這是一個 Windows 版本,如果你的電腦為MAC請下載 appium-1.5.3.dmg 。

再來提供一個百度網(wǎng)盤的下載鏈接: https://pan.baidu.com/s/1Y4pD3fjjeKJNv_6E7seQBQ

我們以 Windows 為例,將下載的 AppiumForWindows.zip 進行解壓,點擊 appium-installer.exe 進行安裝。

雙擊啟動,appium server 界面如下。

最后,打開Windows命令提示符,輸入“appium-doctor”命令,如果出現(xiàn)以下提示,說明你Appium所需要的各項環(huán)境都已準備完成。

注:如果提示:“appium-doctor”不是內(nèi)部或外部命令,找到Appium的安裝目錄,例如:

C:\Program Files\Appium\node_modules\.bin

添加到環(huán)境變量path下面。

第五步

安裝appium客戶端,用于抓取app上定位信息。

如何使用appium做Android手機自動化測試

雙擊安裝,安裝成功后左面會有一個appium的快捷方式。

到這里Windows-Android-appium的所有環(huán)境就已經(jīng)搭建完成了。

Appium目前是一種比較先進的測試工具,可以覆蓋到UiAutomator所涉及的各個方面,還能完成webview的自動化測試,但是部署環(huán)境較復(fù)雜,而且出現(xiàn)很多的異常情況很難去定位到問題,同時網(wǎng)上資料也比較匱乏,導致其普及范圍不是很廣,希望這篇文章可以幫助需要用到appium工具的同學,快速越過搭建環(huán)境這一關(guān),快速投入到混合型App的自動化測試當中。

關(guān)于如何使用appium做Android手機自動化測試就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI