前言:前段時間做了selenium的學習和實踐,有點意猶未盡,所以自己就又學了下Appium的使用,因為這一套東西在16年已經停止維護了,不管實作還是設計上都不是很容易,也踩了很多坑,現在在此記錄下大概程序,后續有時間再完善手冊,
本人比較喜歡前沿的IT技術,暫時用JAVA語言,后期可能會寫一些python的內容,有興趣的小伙伴加我球球:758844861,一起交流學習!
一、準備
-
安裝SDK,配置環境變數
文末下載資源哦windows配置環境SDK變數
我的電腦右鍵->屬性

點擊高級系統設定

點擊環境變數

點擊新建按鈕,變數名輸入ANDROID_HOME,變數值輸入解壓后的SDK目錄

path變數加入圖中兩個路徑

打開CMD命令,輸入adb后回車 展示如下內容即可

在cmd中輸入android并回車,會自動打開android SDK管理器

-
下載Appium服務,并啟動
https://pan.baidu.com/s/1qGPZewtpzj0RHBbufMoong
提取碼:2dyh雙擊桌面下載好的Appium.exe程式,啟動Appium服務


出現上圖后說明已啟動成功
二、代碼實作
-
安裝JDK
官方下載
安裝程序比較簡單,這里就不做詳細的贅述了,
之后設定環境變數JAVA_HOME

編輯Path,添加bin目錄

驗證jdk安裝,打開cmd輸入java,回車,出現下面提示后即配置成功

-
設定Capability
// 1.添加配置,創建DesiredCapabilities物件
DesiredCapabilities des = new DesiredCapabilities();
// 指定測驗設備的名稱
des.setCapability("deviceName", Utils.getParam("deviceName"));
// 添加作業系統配置
des.setCapability("platformName", Utils.getParam("platformName"));
// 添加作業系統版本設定
des.setCapability("platformVersion", OpenApp.getVersion());
// 連接的物理設備的唯一設備標識
des.setCapability("udid", OpenApp.getDeviceName());
// 不需要再次安裝
des.setCapability("noReset", Boolean.valueOf(Utils.getParam("noReset")));
// 設定apk的安裝路徑
des.setCapability("app", apkDir.getAbsolutePath());
//指定想要測驗應用的包名
des.setCapability("appPackage", Utils.getParam("appPackage"));
// 指定想要測驗應用的入口
des.setCapability("appActivity", Utils.getParam("appActivity"));
// 支持中文輸入
des.setCapability("unicodeKeyboard", Boolean.valueOf(Utils.getParam("unicodeKeyboard")));
des.setCapability("resetKeyboard", Boolean.valueOf(Utils.getParam("resetKeyboard")));
// 沒有新命令時的超時時間設定
des.setCapability("newCommandTimeout", Utils.getParam("newCommandTimeout"));
// 跳過檢查和對應用進行 debug 簽名的步驟
des.setCapability("nosign", Utils.getParam("nosign"));
//自動點擊彈窗如:是否允許讀取檔案權限
des.setCapability("autoGrantPermissions",Boolean.valueOf(Utils.getParam("autoGrantPermissions")));
//安卓版本較新,使用uiautomator2
// des.setCapability("automationName", Utils.getParam("automationName"));
- 指定appium通訊的地址,將相對應的配置傳入到驅動
- 運行testNG.xml檔案,執行用例(代碼會先檢查手機有沒有連接,沒有連接手機不運行,手機端有沒有安裝要測驗的程式,沒有的話先安裝,安裝完成后啟動手機app程式,再執行用例),執行完成后會顯示執行結果,也可以設定失敗截屏,方便我們排查和分析具體失敗原因

看失敗截圖,很顯然現在失敗的原因是因為網路原因,ui沒有加載完成,元素未找到

代碼中拋例外的地方也是如此

SDK下載:https://pan.baidu.com/s/1tJx9I986ZSX7bUbMOAOT6g
提取碼:8ihz
后面也做了定期執行的程式,包括自動發送郵件,省心,因為寫的比較倉促,格式和內容都比較簡陋,小白可以做參考(大佬勿噴!)
內容不是很全,持續更新中,,,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/253121.html
標籤:其他
