溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

發(fā)布時(shí)間:2021-01-29 16:09:47 來源:億速云 閱讀:161 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

一、準(zhǔn)備

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

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

提取碼: 8aaz

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

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

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

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

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

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

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

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

path變量加入圖中兩個(gè)路徑

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

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

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

在cmd中輸入android并回車,會(huì)自動(dòng)打開android SDK管理器

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

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

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

提取碼: s5qa

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

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能
怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

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

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

安裝JDK

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

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

編輯Path,添加bin目錄

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

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

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

設(shè)置Capability

// 1.添加配置,創(chuàng)建DesiredCapabilities對(duì)象
  DesiredCapabilities des = new DesiredCapabilities();
  // 指定測(cè)試設(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)識(shí)
  des.setCapability("udid", OpenApp.getDeviceName());
  // 不需要再次安裝
  des.setCapability("noReset", Boolean.valueOf(Utils.getParam("noReset")));
  // 設(shè)置apk的安裝路徑
  des.setCapability("app", apkDir.getAbsolutePath());
  //指定想要測(cè)試應(yīng)用的包名
  des.setCapability("appPackage", Utils.getParam("appPackage"));
  // 指定想要測(cè)試應(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í)的超時(shí)時(shí)間設(shè)置
  des.setCapability("newCommandTimeout", Utils.getParam("newCommandTimeout"));
  // 跳過檢查和對(duì)應(yīng)用進(jìn)行 debug 簽名的步驟
  des.setCapability("nosign", Utils.getParam("nosign"));
  //自動(dòng)點(diǎn)擊彈窗如:是否允許讀取文件權(quán)限
  des.setCapability("autoGrantPermissions",Boolean.valueOf(Utils.getParam("autoGrantPermissions")));
  //安卓版本較新,使用uiautomator2
//  des.setCapability("automationName", Utils.getParam("automationName"));

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

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

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

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

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

怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能

上述內(nèi)容就是怎么在JAVA中使用Maven與TestNG框架實(shí)現(xiàn)一個(gè)Appium測(cè)試功能,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI