有線連接真機,實現(xiàn)真機自動化?實現(xiàn)模擬器自動化?在這里,都能滿足你的需求!
什么都不說了,直接上干貨吧,親測可用哦??
一. 環(huán)境準備
首先,先介紹下所需的環(huán)境,如下:
JDK1.8
Appium
Python3.x
Android-sdk
夜深模擬器/mumu模擬器(PS: 自動化真機時可以選擇不安裝)
安裝配置JDK1.8
1)下載
方式1:官網(wǎng)下載JDK1.8安裝包
下載地址:https://www.oracle.com/java/technologies/downloads/
下載版本選擇主流的jdk1.8的版本:jdk-8u241-windows-x64.exe
方式2:直接下載小碼農(nóng)在百度網(wǎng)盤給諸位備好的安裝包(不謝~)
下載鏈接:https://pan.baidu.com/s/1zp9-NCA-rrqIe9kSNn1p1g?pwd=psqk
提取碼:psqk
2)配置JDK的環(huán)境變量
第一步,Win + R打開“運行”窗口,執(zhí)行命令“sysdm.cpl”打開“系統(tǒng)屬性”窗口,進入“高級”-->“環(huán)境變量”-->“系統(tǒng)變量”。
第二步,新建系統(tǒng)變量
變量名:JAVA_HOME
變量值:C:\Program Files\Java\jdk1.8.0_211 (這里請改成自身電腦上jdk的實際安裝路徑)
變量名:CLASSPATH
變量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar; (前面有一點和冒號不能少)
第三步,編輯PATH變量,在PATH變量中添加如下內(nèi)容
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (PATH中原來的路徑不要去掉哦)
第四步,打開cmd,驗證是否安裝成功
在cmd中執(zhí)行javac和java -version即可驗證。成功的標識:分別會出現(xiàn)一堆參數(shù)說明和jdk的版本信息。


2. 下載配置Android-sdk
1)下載安裝
下載地址:http://tools.android-studio.org/index.php/sdk/
下載版本選擇:android-sdk_r24.4.1-windows.zip
2)配置
與JDK1.8配置類似,
第一步,Win + R打開“運行”窗口,執(zhí)行命令“sysdm.cpl”打開“系統(tǒng)屬性”窗口,進入“高級”-->“環(huán)境變量”-->“系統(tǒng)變量”。
第二步,新建系統(tǒng)變量
變量名:ANDROID_HOME
變量值:C:\tools\android-sdk-windows (這里請改成自身電腦上android-sdk的實際路徑)
第三步,編輯PATH變量,在PATH變量中添加如下內(nèi)容
;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\29.0.3;%ANDROID_HOME%\platform-tools
第四步,驗證是否安裝并配置成功。在cmd中執(zhí)行adb即可驗證。成功的標識是輸出第一行出現(xiàn)Android Debug Bridge version版本信息。

3. 安裝配置Appium
1)下載Appium-Server-GUI
下載地址:https://github.com/appium/appium-desktop/releases

2)配置Appium Server GUI
安裝成功后,雙擊Appium Server GUI.exe運行,選擇“Simple”模式,進入如圖中的配置。


配置完成后,即可點擊startServer開啟服務。
3)下載安裝Appium Inspector
下載地址:https://github.com/appium/appium-inspector/releases

問題:為什么需要下載Appium Inspector ?
答案:由于高版本Appium(從1.22.0開始)的服務和元素查看器分離,1.22.0以下的版本打開Appium Server GUI,點擊搜索按鈕顯示的是inspectorMoved(PS:1.22.0以下版本才會顯示Start Inspector Session)。所以除了下載安裝Appium Server GUI,還需要下載Appium Inspector。

安裝成功后,雙擊Appium Inspector.exe即可啟動Appium Inspector。
至此,Appium就算是安裝配置好啦,后續(xù)再對Appium Inspector如何使用進行說明。
二.真機測試(有線)
有線連接手機
第一步,打開手機的開發(fā)者模式(PS: 請自行百度如何開啟手機的開發(fā)者模式)。
第二步,用USB線連接手機和電腦,在開發(fā)者選項中開啟“USB調(diào)試”
第三步,測試是否連接成功,在cmd中執(zhí)行命令:adb devices 。出現(xiàn)設備信息即表示連接成功。

啟動Appium Server

啟動Appium Inspector,創(chuàng)建配置Session

需配置的參數(shù)如上圖所示,如下:
遠程主機:值為127.0.0.1
遠程端口:值為4723
遠程路徑:值為/wd/hub
platformName: 聲明是ios還是Android系統(tǒng)
platformVersion:內(nèi)核版本號,可在PowerShell中通過如下命令查看
adb shell getprop ro.build.version.release

deviceName:連接的設備名稱,可通過如下命令查詢
adb devices -l

啟動時自動添加必要的Appium供應商前綴:必須勾選
按上述配置好Session參數(shù)后,點擊“啟動會話”,手機會提示安裝一些uiautomator的相關插件,請選擇“信任安裝”待安裝完畢后,可以看到Appium Inspector界面彈出手機界面,表示連接配置成功(如下圖所示)。

此時,就可以用Appium Inspector調(diào)試真機,錄制自動化腳本啦。(具體詳情請參考第四點)
三. 模擬器測試
下載安裝模擬器(以“夜深模擬器”為例)
模擬器推薦使用 “夜深模擬器”或者“mumu模擬器”。模擬器的安裝和使用請自動度娘,這里不做過多贅述。
模擬器安裝被測App
在電腦上下載好被測App的安裝包,然后把apk包直接拖拽到夜神模擬中安裝。
啟用開發(fā)者選項和USB調(diào)試模式
在夜深模擬器中,步驟為:“設置”-->多次點擊版本號直至出現(xiàn)提示-->進入“開發(fā)者選項”-->啟動USB調(diào)試

覆蓋夜深模擬器的nox_adb.exe
由于android-sdk的adb【sdk安裝目錄的platform-tools目錄下】和模擬器的nox_adb【夜深安裝目錄的bin目錄下】版本不一致,所以需要用sdk的adb.exe替換掉模擬器的nox_adb.exe。
注意:建議將模擬器原本的nox_adb.exe備份。
啟動Appium Server

啟動Appium Inspector,創(chuàng)建配置Session

需配置的參數(shù)如上圖所示,如下:
遠程主機:值為127.0.0.1
遠程端口:值為4723
遠程路徑:值為/wd/hub
platformName: 聲明是ios還是Android系統(tǒng)
platformVersion:內(nèi)核版本號,可在PowerShell中通過如下命令查看
adb shell getprop ro.build.version.release

deviceName:連接的設備名稱,可通過如下命令查詢
adb devices -l

啟動時自動添加必要的Appium供應商前綴:必須勾選
按上述配置好Session參數(shù)后,點擊“啟動會話”,模擬器會提示安裝一些uiautomator的相關插件,請選擇“信任安裝”待安裝完畢后,可以看到Appium Inspector界面彈出模擬器的界面,表示連接配置成功(如下圖所示)。

此時,就可以用Appium Inspector調(diào)試模擬器,錄制自動化腳本啦。(具體詳情請參考第四點)
四. Appium錄制自動化腳本
在這里,不會對Appium Inspector進行詳細的使用說明,如有需要,請自行找度娘。
錄制自動化腳本
步驟為:開始錄制-->模擬操作(點擊)-->選擇錄制的腳本語言(Python、Java、js、Ruby等)
錄制生成的代碼如下:
# This sample code uses the Appium python client v2
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy
# For W3C actions
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.actions.pointer_input import PointerInput
caps = {}
caps["appium:deviceName"] = "127.0.0.1:62025"
caps["platformName"] = "Android"
caps["appium:platformVersion"] = "7.1.2"
caps["appium:ensureWebviewsHavePages"] = True
caps["appium:nativeWebScreenshot"] = True
caps["appium:newCommandTimeout"] = 3600
caps["appium:connectHardwareKeyboard"] = True
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
el1 = driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value="QQ")
el1.click()
driver.quit()
五. 創(chuàng)建Python自動化腳本
在Pycharm中創(chuàng)建一個py腳本文件,將生成的代碼粘貼入py腳本文件中即可。當然,在運行之前,還需要安裝依賴包:Appium-Python-Client
環(huán)境安裝
pip install Appium-Python-Client
手機自動化參考文檔文章來源:http://www.zghlxwxcb.cn/news/detail-599390.html
Android Keycodes:http://www.temblast.com/ref/akeyscode.htm文章來源地址http://www.zghlxwxcb.cn/news/detail-599390.html
到了這里,關于python+Appium實現(xiàn)手機移動端自動化 - 模擬器 或 真機【有線】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!