對于appium自動化測試環(huán)境的搭建我相信90%的自學者都是在痛苦中掙扎,在掙扎中放棄,在放棄后又重新開始,只有10%的人,人品比較好,能夠很快并順利的搭建成功。appium 自動化測試是很早之前做的,一直想留下點什么,可是一直抽不出一塊完整的時間來做這件事兒?,F(xiàn)在終于有了。
反觀各種互聯(lián)網的招聘,移動測試已經成了主流,如果再不去學習移動自動化測試技術將已經追不上時代的趕腳!好了,廢話不多說,進入正題!
appium是移動端最主流的開源自動化測試框架。開源,免費
跨平臺:完全滿足IOS和Android兩個不同的系統(tǒng)以及H5的自動化測試。
Appium是基于Selenium來實現(xiàn)的
Appium是基于JDK+SDK環(huán)境來運行的。
Appium有Server版和Desktop版兩種,2020年前者已經淘汰了。
(1) JDK的下載
下載地址:https://www.oracle.com/java/technologies/javase-downloads.html
下載版本選擇主流的jdk1.8的版本:jdk-8u241-windows-x64.exe
(2) 配置JDK的環(huán)境變量:
我的電腦右鍵屬性-->高級系統(tǒng)設置-->高級-->環(huán)境變量-->系統(tǒng)變量:
1、新建系統(tǒng)變量:
變量名:JAVA_HOME
變量值:C:\Program Files\Java\jdk1.8.0_211 (這里是jdk的實際安裝路徑)
2、新建系統(tǒng)變量:
變量名:CLASSPATH
變量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar; (前面有一點和冒號不能少)
3、編輯PATH變量,在PATH的最后面添加:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(PATH中原來的路徑不要去掉哦)
4、驗證是否安裝并配置成功:
在dos中輸入javac和java -version驗證。(分別出現(xiàn)一堆英文和jdk的版本信息則說明安裝配置成功?。?/p>
如果基礎太弱請點擊:https://blog.csdn.net/pengjiangchun/article/details/105419683 里面有很詳細的步驟和截圖!
(1) SDK的下載
下載地址:http://tools.android-studio.org/index.php/sdk/
下載版本選擇:android-sdk_r24.4.1-windows.zip
(2) SDK的安裝
進入D:\android-sdk-windows目錄,雙擊SDK Manager.exe下載對應的包:
a.以下三個Android工具包必須安裝:只需要下載最新的版本就行了。
b.Extras(附加設備)
c.安卓版本:安裝和模擬器安卓版本一致的SDK?,F(xiàn)在android 5開發(fā)的場景多一些
夜神模擬器查看Android版本:設置左邊的三橫->關于我們->Android版本
(3) 配置SDK的環(huán)境變量
我的電腦右鍵屬性-->高級系統(tǒng)設置-->高級-->環(huán)境變量-->系統(tǒng)變量:
1、新建:
變量名:ANDROID_HOME
變量值:D:\android-sdk-windows (SDK的實際安裝路徑)
2、編輯PATH,在最后面添加:
%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\29.0.3;
(如果原來PATH路徑最后不是;則加一個;再添加上面的內容)
3、驗證是否安裝并配置成功:
在dos中輸入adb驗證。在最上面出現(xiàn)Android Debug Bridge version版本信息,如下圖表示成功!
(1) 夜神模擬器的下載
版本選擇:最新版
(2) 夜神模擬器的安裝
下一步下一步傻瓜式安裝。
(3) 被測app的安裝
把apk包直接拖拽到夜神模擬中安裝
(4) 設置模擬器/真機的環(huán)境
1.啟用設備的開發(fā)者選項,啟動調試功能。
夜神模擬器:設置->多次點擊版本號直到出現(xiàn)提示【開發(fā)者選項】->返回上一步能看到【開發(fā)者選項】->USB調試。
2.輸入命令前:因為SDK下的adb[在SDK安裝目錄的platform-tools目錄下]和模擬器的nox_adb[在夜神安裝目錄的bin目錄下]版本不一致,所以需要把SDK路徑下的abd.exe復制到模擬器的bin路徑下,重命名為nox_adb.exe,原來的nox_adb.exe先備份。
(1) 下載和安裝appium-desktop。
下載地址:(強烈建議使用迅雷下載)
https://github.com/appium/appium-desktop/releases
(2) 打開appium輸入:127.0.0.1和4723登錄,如下圖:
如果此端口被占用:可以使用此命令檢查端口是否被占用:netstat -ano | findstr 4723
(3) 配置Appium檢查器:
A.Appium右上角有三個選項分別為:
start inspector session 開始檢查回話(點擊它)
Get Raw Logs 獲得原生日志
Stop Server 停止服務
B.點擊Automatic Server(自動化服務)
在Desired Capabilities選項中輸入如下內容,如圖:
deviceName:設備名稱
獲取方式:通過adb devices獲取。輸入adb devices后出現(xiàn)
值為:127.0.0.1:62001
platformName:操作系統(tǒng)名稱
可填寫:Android和IOS
值為:Android
platformVersion:操作系統(tǒng)版本
查看天天模擬器的anroid版本獲取得到。
夜神模擬器查看Android版本:設置左邊的三橫->關于我們->Android版本
appPackage:包名
通過aapt.exe獲?。篴apt dump badging apk包的路徑。
值為:找到package后面的值,一般在第一行。如:tv.danmaku.bili
appActivity:activity程序主入口
通過aapt.exe獲取:aapt dump badging apk包的路徑,
找到launchable-activity后面的值,如:tv.danmaku.bili.ui.splash.SplashActivity
第一種可以取全部的值,第二種也可以只取包名以后的內容:
第一種值為:tv.danmaku.bili.ui.splash.SplashActivity
第二種值為:.ui.splash.SplashActivity (注意:前面有個點不能省略)
保存后點擊"Start Session"如出現(xiàn):unkown... 錯誤,是因為模擬器中沒有安裝apk包。
如果正常在模擬器里啟動app則表示appium自動化測試環(huán)境搭建成功!
(1)自動化腳本向AppiumServer發(fā)送注冊參數(shù)(URL,platformName, platformVersion,deviceName,appPackage,appActivity)
(2)AppiumServer將bootstrap.jar包放入手機端中
(3)手機端用bootstrap啟動手機端口(4724),并將端口返回給AppiumServer(相當于建立好了通信連接)
(4)自動化腳本發(fā)送請求(操作或命令或動作)給AppiumServer
(5)AppiumServer將 請求解析并發(fā)送給bootstrap
(6)bootstrap將請求解析發(fā)給UIAutomator
(7)UIAutomator執(zhí)行相應的操作并將結果返回給bootstrap
(8)bootstrap將響應結果返回給AppiumServer
(9)AppiumServer將響應結果返回到腳本
綜上所述,個人認為AppiumServer像是一個請求者;bootstrap充當橋梁的角色,負責PC與電腦之間的通信;UIAutomator則是真正的執(zhí)行者。
如果你對此文有任何疑問,如果你覺得此文對你有幫助,如果你對軟件測試、接口測試、自動化測試、面試經驗交流感興趣歡迎加入軟件測試技術群:695458161,群里免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術哦。
筆者:來自公眾號:軟測之家
聯(lián)系客服