欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用JAVA+Maven+TestNG框架實(shí)現(xiàn)超詳細(xì)Appium測試安卓真機(jī)教程

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

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

一、準(zhǔn)備

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

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

提取碼: 8aaz

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

在這里插入圖片描述

點(diǎn)擊高級系統(tǒng)設(shè)置

在這里插入圖片描述

點(diǎn)擊環(huán)境變量

在這里插入圖片描述

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

在這里插入圖片描述

path變量加入圖中兩個路徑

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

下載Appium服務(wù),并啟動

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

提取碼: s5qa

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

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

出現(xiàn)上圖后說明已啟動成功

二、代碼實(shí)現(xiàn)

安裝JDK

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

在這里插入圖片描述

編輯Path,添加bin目錄

在這里插入圖片描述

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

在這里插入圖片描述

設(shè)置Capability

// 1.添加配置,創(chuàng)建DesiredCapabilities對象
  DesiredCapabilities des = new DesiredCapabilities();
  // 指定測試設(shè)備的名稱
  des.setCapability("deviceName", Utils.getParam("deviceName"));
  // 添加操作系統(tǒng)配置
  des.setCapability("platformName", Utils.getParam("platformName"));
  // 添加操作系統(tǒng)版本設(shè)置
  des.setCapability("platformVersion", OpenApp.getVersion());
  // 連接的物理設(shè)備的唯一設(shè)備標(biāo)識
  des.setCapability("udid", OpenApp.getDeviceName());
  // 不需要再次安裝
  des.setCapability("noReset", Boolean.valueOf(Utils.getParam("noReset")));
  // 設(shè)置apk的安裝路徑
  des.setCapability("app", apkDir.getAbsolutePath());
  //指定想要測試應(yīng)用的包名
  des.setCapability("appPackage", Utils.getParam("appPackage"));
  // 指定想要測試應(yīng)用的入口
  des.setCapability("appActivity", Utils.getParam("appActivity"));
  // 支持中文輸入
  des.setCapability("unicodeKeyboard", Boolean.valueOf(Utils.getParam("unicodeKeyboard")));
  des.setCapability("resetKeyboard", Boolean.valueOf(Utils.getParam("resetKeyboard")));
  // 沒有新命令時的超時時間設(shè)置
  des.setCapability("newCommandTimeout", Utils.getParam("newCommandTimeout"));
  // 跳過檢查和對應(yīng)用進(jìn)行 debug 簽名的步驟
  des.setCapability("nosign", Utils.getParam("nosign"));
  //自動點(diǎn)擊彈窗如:是否允許讀取文件權(quán)限
  des.setCapability("autoGrantPermissions",Boolean.valueOf(Utils.getParam("autoGrantPermissions")));
  //安卓版本較新,使用uiautomator2
//  des.setCapability("automationName", Utils.getParam("automationName"));

指定appium通訊的地址,將相對應(yīng)的配置傳入到驅(qū)動運(yùn)行testNG.xml文件,執(zhí)行用例(代碼會先檢查手機(jī)有沒有連接,沒有連接手機(jī)不運(yùn)行,手機(jī)端有沒有安裝要測試的程序,沒有的話先安裝,安裝完成后啟動手機(jī)app程序,再執(zhí)行用例),執(zhí)行完成后會顯示執(zhí)行結(jié)果,也可以設(shè)置失敗截屏,方便我們排查和分析具體失敗原因

在這里插入圖片描述

看失敗截圖,很顯然現(xiàn)在失敗的原因是因?yàn)榫W(wǎng)絡(luò)原因,ui沒有加載完成,元素未找到

在這里插入圖片描述

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

在這里插入圖片描述

SDK下載:

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

提取碼: 8aaz

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

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

相關(guān)文章

  • RocketMQTemplate 注入失敗的解決

    RocketMQTemplate 注入失敗的解決

    這篇文章主要介紹了RocketMQTemplate 注入失敗的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SpringMVC中常用參數(shù)校驗(yàn)類注解使用示例教程

    SpringMVC中常用參數(shù)校驗(yàn)類注解使用示例教程

    這篇文章主要介紹了SpringMVC中常用參數(shù)校驗(yàn)類注解使用示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • Java基于Swing和netty實(shí)現(xiàn)仿QQ界面聊天小項目

    Java基于Swing和netty實(shí)現(xiàn)仿QQ界面聊天小項目

    這篇文章主要為大家詳細(xì)介紹了Java如何利用Swing和netty實(shí)現(xiàn)仿QQ界面聊天小項目,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-09-09
  • Java并發(fā)編程之原子變量與非阻塞同步機(jī)制

    Java并發(fā)編程之原子變量與非阻塞同步機(jī)制

    這篇文章主要介紹了Java并發(fā)編程之原子變量與非阻塞同步機(jī)制,本文講解了非阻塞算法、悲觀技術(shù)、樂觀技術(shù)、CAS操作、原子變量、性能比較:鎖與原子變量等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Java中處理XML數(shù)據(jù)的方法

    Java中處理XML數(shù)據(jù)的方法

    本文介紹了在Java中處理XML數(shù)據(jù)的幾種常見方法:DOM、SAX和JAXB,每種方法都有其適用的場景和優(yōu)缺點(diǎn),具體選擇取決于項目的需求和性能考慮,這篇文章主要介紹了Java中處理XML數(shù)據(jù)的方法,需要的朋友可以參考下
    2024-06-06
  • SpringBoot解決jar包沖突的問題,簡單有效

    SpringBoot解決jar包沖突的問題,簡單有效

    這篇文章主要介紹了SpringBoot解決jar包沖突的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 聊聊Arrays.deepToString()和Arrays.toString()的區(qū)別

    聊聊Arrays.deepToString()和Arrays.toString()的區(qū)別

    這篇文章主要介紹了聊聊Arrays.deepToString()和Arrays.toString()的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java Web實(shí)現(xiàn)添加定時任務(wù)的方法示例

    Java Web實(shí)現(xiàn)添加定時任務(wù)的方法示例

    這篇文章主要介紹了Java Web實(shí)現(xiàn)添加定時任務(wù)的方法,涉及java web定時任務(wù)控制類定義、調(diào)用及監(jiān)聽器定義、添加等相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • java實(shí)現(xiàn)左旋轉(zhuǎn)字符串

    java實(shí)現(xiàn)左旋轉(zhuǎn)字符串

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)左旋轉(zhuǎn)字符串,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • java 數(shù)值類型分秒時間格式化的實(shí)例代碼

    java 數(shù)值類型分秒時間格式化的實(shí)例代碼

    這篇文章主要介紹了java 數(shù)值類型分秒時間格式化的實(shí)例代碼的相關(guān)資料,將秒或分鐘的值轉(zhuǎn)換為xx天xx小時xx分鐘xx秒 如果 “xx” 為0 自動缺省,需要的朋友可以參考下
    2017-07-07

最新評論