- 資訊首頁(yè) > 網(wǎng)絡(luò )安全 >
- 如何使用appium做Android手機自動(dòng)化測試
這篇文章給大家介紹如何使用appium做Android手機自動(dòng)化測試,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Appium這個(gè)聽(tīng)起來(lái)既生疏也熟悉的自動(dòng)化測試工具,比起原生的UiAutomator可能是異常的不起眼,可是卻是有自身獨當一面的能力,可以完成許多高難度作業(yè),完成UiAutomator不可能完成的一些任務(wù),可以說(shuō)appium豐富了UiAutomator的功能,使UiAutomator可以完成更多的任務(wù)。
Appium到底有哪些優(yōu)勢會(huì )讓我們優(yōu)先選擇它去做自動(dòng)化呢?
一、一句話(huà)概括Appium
一款應用于移動(dòng)端的自動(dòng)化測試框架,支持跨平臺應用,Native、Hybird、Mobile Web都支持。其特點(diǎn)概括一下:
跨平臺只要一套代碼
不需要設置簽名,不污染源代碼
不需要項目源代碼就可以測試
多語(yǔ)言支持
可支持多種通用框架
完全開(kāi)源,社區活躍
二、初步認識appium工作過(guò)程
1.appium有C/S模式
2.appium是基于webdriver協(xié)議對移動(dòng)設備自動(dòng)化api擴展而成的,所有具有和webdriver一樣的特性,比如多語(yǔ)言支持。
3.webdriver是基于http協(xié)議的,第一連接會(huì )建立一個(gè)session會(huì )話(huà),并通過(guò)post發(fā)送一個(gè)json告知服務(wù)端相關(guān)測試信息。
4.對于A(yíng)ndroid來(lái)說(shuō),4.2以后是基于UiAutomator框架實(shí)現查找注入事件的,4.2以前則是instrumentation框架的,并封裝成一個(gè)叫Selendroid提供服務(wù)。
5.客戶(hù)端只需要發(fā)送http請求實(shí)現通訊,意味著(zhù)客戶(hù)端就是多語(yǔ)言支持的。
6.appium服務(wù)端是node.js寫(xiě)的,所以安裝那個(gè)平臺都是先安裝node,然后npm install -g appium(需要FQ)。
三、環(huán)境搭建
步驟:
1.java開(kāi)發(fā)環(huán)境JDK
2.android SDK(platform/platform tools/tools/build tools)
3.python下載安裝(pip)
4.appium下載安裝(服務(wù)端+客戶(hù)端)
5.安裝appium-python-client
6.安裝unittest
第一步
安裝JDK,安裝完成后配置環(huán)境變量。
cmd下java -version檢查環(huán)境變量是否配置成功。
第二步
安裝Android SDK(安卓軟件開(kāi)發(fā)包),測試Android手機必然是要安裝Android SDK。
下載地址: http://tools.android-studio.org/index.php/sdk/
解壓后將文件夾添加到環(huán)境變量中,添加環(huán)境變量,必須創(chuàng )建一個(gè)名為ANDROID_HOME的變量。
雙擊SDK Manager,選裝工具。必裝:Tools文件夾下Android SDK Platform-tools和Android SDK Build-tools,Android SDK Tools可以選擇是否更新,建議網(wǎng)速OK直接更新。GoogleFQ安裝:Extras文件夾下所有的全部安裝。
Path環(huán)境變量中添加ANDROID_HOME、tools、platform-tools、build-tools目錄。保存修改。
環(huán)境變量配置完成后,連接安卓手機,并將Android手機的開(kāi)發(fā)者選項-USB調試打開(kāi)。
在CMD下執行,adb devices,出現下圖樣式則代表通過(guò)adb命令,獲取到了連接在電腦上Android手機的UDID。
adb devices在獲取連接的安卓手機時(shí),一定會(huì )遇到很多坑,這里我們梳理下可能會(huì )遇到的坑。
1、手機USB調試一定要打開(kāi)。
2、多找兩根USB線(xiàn),排除線(xiàn)的問(wèn)題。
3、多換幾個(gè)USB接口,排除USB個(gè)別接口不好使問(wèn)題(如:3.0 與 2.0)
4、驅動(dòng)程序,通過(guò)設備管理器查看是否安裝驅動(dòng)或驅動(dòng)不是最新。
5、更新adb_usb.ini文件,少數電腦不能識別Android手機時(shí),可以將設備管理器下的Android手機的VID、PID增加到adb_usb.ini文件中。
將VID、PID中“_”后的4位數增加到adb_usb.ini下(注:adb_usb.ini默認在C盤(pán)當前用戶(hù)家目錄下的.android目錄下)
理論上這些操作都操作一遍后,基本adb devices就可以找到Android手機了。
第三步
安裝node.js,之后就可以直接通過(guò)npm安裝Appium。(注:npm類(lèi)似于Python的pip,一個(gè)非官方包管理器)
官方下載地址: https://nodejs.org/en/download/
根據自己的操作系統下載不同版本的node.js
node.js的安裝一路傻瓜式next就可以了,安裝成功后會(huì )自動(dòng)添加環(huán)境變量。
安裝成功后,檢測下npm是否可用。
第四步
安裝appium服務(wù)端,可通過(guò)cmd 下輸入 npm install -g appium 進(jìn)行安裝。
如果npm install -g appium特別慢,無(wú)法下載時(shí),可以用國內的鏡像npm --registry http://registry.cnpmjs.org install -g appium
安裝如果失敗可以嘗試通過(guò)cnpm安裝appium
通過(guò)npm命令安裝cnpm
npm install -g cnpm --registry= https://registry.npm.taobao.org
通過(guò)cnpm安裝appium
cnpm install -g appium --no-cache
安裝成功后,通過(guò)appium -v 查看當前appium版本,直接輸入appium則啟動(dòng)appium server端。
如果仍無(wú)法下載appium服務(wù)端,那就只能在A(yíng)ppium官方網(wǎng)站上下載操作系統相應的Appium版本。
https://bitbucket.org/appium/appium.app/downloads/
當前最新版本為 AppiumForWindows_1_4_16_1.zip ,注意這是一個(gè) Windows 版本,如果你的電腦為MAC請下載 appium-1.5.3.dmg 。
再來(lái)提供一個(gè)百度網(wǎng)盤(pán)的下載鏈接: https://pan.baidu.com/s/1Y4pD3fjjeKJNv_6E7seQBQ
我們以 Windows 為例,將下載的 AppiumForWindows.zip 進(jìn)行解壓,點(diǎn)擊 appium-installer.exe 進(jìn)行安裝。
雙擊啟動(dòng),appium server 界面如下。
最后,打開(kāi)Windows命令提示符,輸入“appium-doctor”命令,如果出現以下提示,說(shuō)明你Appium所需要的各項環(huán)境都已準備完成。
注:如果提示:“appium-doctor”不是內部或外部命令,找到Appium的安裝目錄,例如:
C:\Program Files\Appium\node_modules\.bin
添加到環(huán)境變量path下面。
第五步
安裝appium客戶(hù)端,用于抓取app上定位信息。
雙擊安裝,安裝成功后左面會(huì )有一個(gè)appium的快捷方式。
到這里Windows-Android-appium的所有環(huán)境就已經(jīng)搭建完成了。
Appium目前是一種比較先進(jìn)的測試工具,可以覆蓋到UiAutomator所涉及的各個(gè)方面,還能完成webview的自動(dòng)化測試,但是部署環(huán)境較復雜,而且出現很多的異常情況很難去定位到問(wèn)題,同時(shí)網(wǎng)上資料也比較匱乏,導致其普及范圍不是很廣,希望這篇文章可以幫助需要用到appium工具的同學(xué),快速越過(guò)搭建環(huán)境這一關(guān),快速投入到混合型App的自動(dòng)化測試當中。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站