如何初始化驱动程序对象,因此它可以被所有类使用

问题描述 投票:1回答:2

如何初始化驱动程序,因此它可以被所有类使用

大家好,

我写使用Appium,硒和黄瓜在JAVA自动化测试框架。

我开始通过宣布在我的测试步骤文件之一的Appium驱动程序,然后这个被强制转换为Android的驱动程序或iOS驱动程序根据被测应用程序。

我需要一些帮助,请 - 我需要我所有的类文件能够访问驱动器的这种情况下,但我不知道如何做到这一点。该测试从特征文件驱动,一些测试步骤是在不同的类文件,使他们的所有访问驱动器的这种情况下怎么可以?

感谢马特

java appium serenity-bdd cucumber-serenity serenity-js
2个回答
1
投票

您可以在所有其他配置设置可以做类的初始化方法,然后你就可以说类的实例调用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被调用。


0
投票

您可以定义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");

}
© www.soinside.com 2019 - 2024. All rights reserved.