使用JAVA+Maven+TestNG框架實現超詳細Appium測試安卓真機教程
前言:前段時間做瞭selenium的學習和實踐,有點意猶未盡,所以自己就又學瞭下Appium的使用,因為這一套東西在16年已經停止維護瞭,不管實現還是設計上都不是很容易,也踩瞭很多坑,現在在此記錄下大概過程。後續有時間再完善手冊。
一、準備
安裝SDK,配置環境變量
鏈接: https://pan.baidu.com/s/1g2QaWjdfg6Txa0gZf9kk3A
提取碼: 8aaz
windows配置環境SDK變量
我的電腦右鍵->屬性
點擊高級系統設置
點擊環境變量
點擊新建按鈕,變量名輸入ANDROID_HOME,變量值輸入解壓後的SDK目錄
path變量加入圖中兩個路徑
打開CMD命令,輸入adb後回車 展示如下內容即可
在cmd中輸入android並回車,會自動打開android SDK管理器
下載Appium服務,並啟動
鏈接: https://pan.baidu.com/s/1Tf_33ZhbMwBmn0HKL-Z8UQ
提取碼: s5qa
雙擊桌面下載好的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/1g2QaWjdfg6Txa0gZf9kk3A
提取碼: 8aaz
後面也做瞭定期執行的程序,包括自動發送郵件,省心。因為寫的比較倉促,格式和內容都比較簡陋,小白可以做參考(大佬勿噴!)
到此這篇關於使用JAVA+Maven+TestNG框架實現超詳細Appium測試安卓真機教程的文章就介紹到這瞭,更多相關JAVA+Maven+TestNG框架實現Appium測試安卓真機內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java進行Appium自動化測試的實現
- 詳解搭建基於C#和Appium的Android自動測試環境
- Python與Appium實現手機APP自動化測試的示例代碼
- Appium的使用與入門(這款神器你值得擁有)
- Python3+Appium安裝及Appium模擬微信登錄方法詳解