java - 如何初始化驱动程序对象以便所有类都可以使用它

标签 java appium serenity-bdd cucumber-serenity serenity-js

如何初始化驱动程序以便所有类都可以使用它

大家好,

我正在使用 Appium、Selenium 和 Cucumber 在 JAVA 中编写一个测试自动化框架。

我首先在我的一个测试步骤文件中声明一个 Appium 驱动程序,然后根据所测试的应用程序将其转换为 Android 驱动程序或 iOS 驱动程序。

我需要一些帮助 - 我需要所有类文件才能访问该驱动程序实例,但我不知道如何执行此操作。测试是从功能文件驱动的,并且一些测试步骤位于不同的类文件中,那么它们如何才能访问驱动程序的此实例?

谢谢 马特

最佳答案

您可以在可以完成所有其他配置设置的类中创建一个初始化方法,然后您可以创建该类的实例来调用 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 隐式调用。

关于java - 如何初始化驱动程序对象以便所有类都可以使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54501911/

相关文章:

java - Chrome 正在被自动化测试软件控制

serenity-bdd - 较小的Serenity-BDD控制台输出

java - 无法从适配器中的静态上下文引用非静态变量

java - 跳棋游戏板 : store object refs or char values?

ios - 使用 Selenium 和 ios-driver 从 Windows 计算机测试 iOS 移动应用程序

node.js - Appium_npm install -g appium 请尝试以 root/管理员身份再次运行此命令

java - 配置 @RunWith 以在 IntelliJ 运行器中使用 CucumberWithSerenity.class 而不是 Cucumber.class

java - spring-ws 和契约优先方法

java - @Id 字段是否在父类(super class)中?

node.js - 无法安装 wdio-jasmine-framework