全網最全最細的appium自動化測試環境搭建教程以及appium工作原理


一、前言

對於appium自動化測試環境的搭建我相信90%的自學者都是在痛苦中掙扎,在掙扎中放棄,在放棄后又重新開始,只有10%的人,人品比較好,能夠很快並順利的搭建成功。appium 自動化測試是很早之前做的,一直想留下點什么,可是一直抽不出一塊完整的時間來做這件事兒。現在終於有了。

反觀各種互聯網的招聘,移動測試已經成了主流,如果再不去學習移動自動化測試技術將已經追不上時代的趕腳!好了,廢話不多說,進入正題!

二、Appium簡介

appium是移動端最主流的開源自動化測試框架。開源,免費

跨平台:完全滿足IOS和Android兩個不同的系統以及H5的自動化測試。

Appium是基於Selenium來實現的

Appium是基於JDK+SDK環境來運行的。

Appium有Server版和Desktop版兩種,2020年前者已經淘汰了。

三、搭建Appium+Python自動化測試環境

1、安裝JDK並配置JDK的環境變量。

(1) JDK的下載

下載地址:https://www.oracle.com/java/technologies/javase-downloads.html

下載版本選擇主流的jdk1.8的版本:jdk-8u241-windows-x64.exe

(2) 配置JDK的環境變量:

我的電腦右鍵屬性-->高級系統設置-->高級-->環境變量-->系統變量:

1、新建系統變量:

      變量名:JAVA_HOME

      變量值:C:\Program Files\Java\jdk1.8.0_211 (這里是jdk的實際安裝路徑)

2、新建系統變量:

      變量名: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驗證。(分別出現一堆英文和jdk的版本信息則說明安裝配置成功!)

      如果基礎太弱請點擊:https://blog.csdn.net/pengjiangchun/article/details/105419683   里面有很詳細的步驟和截圖!

2、安裝SDK並配置SDK的環境變量。

(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。現在android 5開發的場景多一些

夜神模擬器查看Android版本:設置左邊的三橫->關於我們->Android版本

(3) 配置SDK的環境變量

我的電腦右鍵屬性-->高級系統設置-->高級-->環境變量-->系統變量:

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驗證。在最上面出現Android Debug Bridge version版本信息,如下圖表示成功!

3、安裝夜神模擬器並在模擬器上安裝被測app

(1) 夜神模擬器的下載

下載地址:https://www.yeshen.com/

版本選擇:最新版

(2) 夜神模擬器的安裝

下一步下一步傻瓜式安裝。

(3) 被測app的安裝

把apk包直接拖拽到夜神模擬中安裝

(4) 設置模擬器/真機的環境

1.啟用設備的開發者選項,啟動調試功能。

夜神模擬器:設置->多次點擊版本號直到出現提示【開發者選項】->返回上一步能看到【開發者選項】->USB調試。

2.輸入命令前:因為SDK下的adb[在SDK安裝目錄的platform-tools目錄下]和模擬器的nox_adb[在夜神安裝目錄的bin目錄下]版本不一致,所以需要把SDK路徑下的abd.exe復制到模擬器的bin路徑下,重命名為nox_adb.exe,原來的nox_adb.exe先備份。

4.安裝和配置Appium

(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后出現

            值為:127.0.0.1:62001

      platformName:操作系統名稱

            可填寫:Android和IOS

            值為:Android

       platformVersion:操作系統版本

            查看天天模擬器的anroid版本獲取得到。

            夜神模擬器查看Android版本:設置左邊的三橫->關於我們->Android版本

      appPackage:包名

            通過aapt.exe獲取:aapt 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"如出現:unkown... 錯誤,是因為模擬器中沒有安裝apk包。

如果正常在模擬器里啟動app則表示appium自動化測試環境搭建成功!

四、Appium運行原理

(1)自動化腳本向AppiumServer發送注冊參數(URL,platformName, platformVersion,deviceName,appPackage,appActivity)

(2)AppiumServer將bootstrap.jar包放入手機端中

(3)手機端用bootstrap啟動手機端口(4724),並將端口返回給AppiumServer(相當於建立好了通信連接)

(4)自動化腳本發送請求(操作或命令或動作)給AppiumServer

(5)AppiumServer將 請求解析並發送給bootstrap

(6)bootstrap將請求解析發給UIAutomator

(7)UIAutomator執行相應的操作並將結果返回給bootstrap

(8)bootstrap將響應結果返回給AppiumServer

(9)AppiumServer將響應結果返回到腳本

綜上所述,個人認為AppiumServer像是一個請求者;bootstrap充當橋梁的角色,負責PC與電腦之間的通信;UIAutomator則是真正的執行者。

五、總結

如果你對此文有任何疑問,如果你覺得此文對你有幫助,如果你對軟件測試、接口測試、自動化測試、面試經驗交流感興趣歡迎加入:

軟件測試技術群:695458161群里免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術哦。

筆者:來自公眾號:軟測之家
出處:https://www.cnblogs.com/csmashang/p/12793002.html
原創不易,歡迎轉載,但未經作者同意請保留此段聲明,並在文章頁面明顯位置給出原文鏈接。


免責聲明!

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



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