亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何初始化驅動程序對象,以便所有類都可以使用它

如何初始化驅動程序對象,以便所有類都可以使用它

慕少森 2022-06-04 10:56:04
如何初始化驅動程序以便它可以被所有類使用大家好,我正在使用 Appium、Selenium 和 Cucumber 在 JAVA 中編寫測試自動化框架。我首先在我的一個測試步驟文件中聲明一個 Appium 驅動程序,然后根據被測應用程序將其轉換為 Android 驅動程序或 iOS 驅動程序。我需要一些幫助 - 我需要我的所有類文件才能訪問此驅動程序實例,但我不確定如何執行此操作。測試是從功能文件驅動的,并且一些測試步驟位于不同的類文件中,那么它們如何都可以訪問該驅動程序實例?謝謝馬特
查看完整描述

3 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

您可以將AppiumDriver定義為靜態


public class AppiumHelper(){

   public static AppiumDriver<MobileElement> driver;


   public void setupDriver(){

       //define your DesiredCapabilities       


       //initialize your driver


  }

然后你可以在你的測試方法中使用你的驅動程序,比如


public void test1(){

       MobileElement element= AppiumHelper.driver.findElementById("elements id");


}


查看完整回答
反對 回復 2022-06-04
?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

您可以在可以完成所有其他配置設置的類中創建一個初始化方法,然后您可以創建該類的一個實例來調用 getDriver 方法。

例如:


public class initialiseDriver{

private static AppiumDriver<MobileElement> driver;


public AppiumDriver<MobileElement> getDriver() throws IOException {

if (PLATFORM_NAME.equals("Android")) {

    // setup the android driver

} else if (PLATFORM_NAME.equals("iOS")) {

    // setup the ios driver

}

return driver;

  }

}

您可以在要使用驅動程序的地方調用此方法。理想情況下,您應該通過在@BeforeSuite/@BeforeClass 方法中調用此方法來初始化驅動程序,這樣您就不需要每次啟動腳本時都調用此方法,因為它會被@BeforeSuite/@BeforeClass 隱式調用。


查看完整回答
反對 回復 2022-06-04
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

Serenity PageObject類提供了一個內置的getDriver()方法,您可以在任何想要初始化驅動程序的地方調用該方法(最好在測試類中)。避免嘗試在任何步驟定義/步驟庫中初始化驅動程序(使用 @Managed 注釋進行管理),否則它將拋出:

空指針異常。


查看完整回答
反對 回復 2022-06-04
  • 3 回答
  • 0 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號