最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用JAVA+Maven+TestNG框架實現超詳細Appium測試安卓真機教程

 更新時間:2021年01月28日 17:21:09   作者:up up!  
這篇文章主要介紹了使用JAVA+Maven+TestNG框架實現超詳細Appium測試安卓真機教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

前言:前段時間做了selenium的學習和實踐,有點意猶未盡,所以自己就又學了下Appium的使用,因為這一套東西在16年已經停止維護了,不管實現還是設計上都不是很容易,也踩了很多坑,現在在此記錄下大概過程。后續(xù)有時間再完善手冊。

一、準備

安裝SDK,配置環(huán)境變量

鏈接: https://pan.baidu.com/s/1g2QaWjdfg6Txa0gZf9kk3A

提取碼: 8aaz

windows配置環(huán)境SDK變量
我的電腦右鍵->屬性

在這里插入圖片描述

點擊高級系統(tǒng)設置

在這里插入圖片描述

點擊環(huán)境變量

在這里插入圖片描述

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

在這里插入圖片描述

path變量加入圖中兩個路徑

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

下載Appium服務,并啟動

鏈接: https://pan.baidu.com/s/1Tf_33ZhbMwBmn0HKL-Z8UQ

提取碼: s5qa

雙擊桌面下載好的Appium.exe程序,啟動Appium服務

在這里插入圖片描述
在這里插入圖片描述

出現上圖后說明已啟動成功

二、代碼實現

安裝JDK

官方下載
安裝過程比較簡單,這里就不做詳細的贅述了。
之后設置環(huán)境變量JAVA_HOME

在這里插入圖片描述

編輯Path,添加bin目錄

在這里插入圖片描述

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

在這里插入圖片描述

設置Capability

// 1.添加配置,創(chuàng)建DesiredCapabilities對象
  DesiredCapabilities des = new DesiredCapabilities();
  // 指定測試設備的名稱
  des.setCapability("deviceName", Utils.getParam("deviceName"));
  // 添加操作系統(tǒng)配置
  des.setCapability("platformName", Utils.getParam("platformName"));
  // 添加操作系統(tǒng)版本設置
  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文件,執(zhí)行用例(代碼會先檢查手機有沒有連接,沒有連接手機不運行,手機端有沒有安裝要測試的程序,沒有的話先安裝,安裝完成后啟動手機app程序,再執(zhí)行用例),執(zhí)行完成后會顯示執(zhí)行結果,也可以設置失敗截屏,方便我們排查和分析具體失敗原因

在這里插入圖片描述

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

在這里插入圖片描述

代碼中拋異常的地方也是如此

在這里插入圖片描述

SDK下載:

鏈接: https://pan.baidu.com/s/1g2QaWjdfg6Txa0gZf9kk3A

提取碼: 8aaz

后面也做了定期執(zhí)行的程序,包括自動發(fā)送郵件,省心。因為寫的比較倉促,格式和內容都比較簡陋,小白可以做參考(大佬勿噴?。?/p>

到此這篇關于使用JAVA+Maven+TestNG框架實現超詳細Appium測試安卓真機教程的文章就介紹到這了,更多相關JAVA+Maven+TestNG框架實現Appium測試安卓真機內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java中@RequiredArgsConstructor注解的基本用法

    Java中@RequiredArgsConstructor注解的基本用法

    這篇文章主要介紹了Java中@RequiredArgsConstructor注解的基本用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • shiro與spring?security用自定義異常處理401錯誤

    shiro與spring?security用自定義異常處理401錯誤

    這篇文章主要介紹了shiro與spring?security用自定義異常處理401錯誤,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java捕獲AOP級別的異常并將其傳遞到Controller層

    java捕獲AOP級別的異常并將其傳遞到Controller層

    如何在一個現代的Java應用中,捕獲AOP(面向切面編程)級別的異常,并將這些異常傳遞到Controller層進行合適的處理,異常處理在構建可靠的應用程序中起著關鍵作用,而AOP則可以幫助我們更好地管理和組織代碼,我們將深入研究如何結合AOP和異常處理來構建健壯的應用
    2023-09-09
  • java開發(fā)命名規(guī)范總結

    java開發(fā)命名規(guī)范總結

    包名的書寫規(guī)范 (Package)推薦使用公司或機構的頂級域名為包名的前綴,目的是保證各公司/機構內所使用的包名的唯一性。包名全部為小寫字母,且具有實際的區(qū)分意義
    2013-10-10
  • springboot相互依賴 server相互引用方式

    springboot相互依賴 server相互引用方式

    這篇文章主要介紹了springboot相互依賴 server相互引用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Spring Boot右鍵maven build成功但是直接運行main方法出錯的解決方案

    Spring Boot右鍵maven build成功但是直接運行main方法出錯的解決方案

    這篇文章主要介紹了Spring Boot-右鍵maven build成功但是直接運行main方法出錯的解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • 簡單了解Java創(chuàng)建線程兩種方法

    簡單了解Java創(chuàng)建線程兩種方法

    這篇文章主要介紹了簡單了解Java創(chuàng)建線程兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Java多線程程序中synchronized修飾方法的使用實例

    Java多線程程序中synchronized修飾方法的使用實例

    synchronized關鍵字主要北用來進行線程同步,這里我們主要來演示Java多線程程序中synchronized修飾方法的使用實例,需要的朋友可以參考下:
    2016-06-06
  • Java 完美判斷中文字符的方法

    Java 完美判斷中文字符的方法

    Java判斷一個字符串是否有中文一般情況是利用Unicode編碼正則來做判斷,但是其實這個區(qū)間來判斷中文不是非常精確,以下是比較完善的判斷方法
    2013-02-02
  • JPA merge聯(lián)合唯一索引無效問題解決方案

    JPA merge聯(lián)合唯一索引無效問題解決方案

    這篇文章主要介紹了JPA merge聯(lián)合唯一索引無效問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09

最新評論

营山县| 玛曲县| 霍城县| 博爱县| 永善县| 松滋市| 淳安县| 尤溪县| 敦化市| 阿拉善盟| 翁牛特旗| 富宁县| 乐业县| 辽源市| 宜都市| 白玉县| 宜川县| 信阳市| 息烽县| 西乌| 灌阳县| 襄樊市| 色达县| 延寿县| 长沙县| 天峨县| 潮安县| 南阳市| 仁化县| 龙南县| 麻江县| 吉安县| 兴和县| 黑山县| 长治市| 秀山| 阜宁县| 凤城市| 即墨市| 岳阳县| 泰兴市|