我正在建立一个自动化框架,以使用Appium在Android模拟器上运行测试。我添加了以编程方式启动Appium和仿真器的逻辑,但是希望能够从TestRunner类中编辑“启动设置”。
我的理想目标是将所需的一切都包含在TestRunner类中,以便可以针对特定的端口,仿真器和标签运行测试。
但是目前使用我现在拥有的方法,我收到以下错误:
“消息:cucumber.runtime.CucumberException:挂钩必须声明0或1个参数。”
@CucumberOptions(
plugin = {"pretty", "html:target/cucumber-reports"}
, monochrome = true
, features = "src/test/java/feature"
, tags = "@Login"
)
public class TestRunner {
public void run() throws MalformedURLException, InterruptedException {
setUpDriver(4723, "Android9");
}
}
_________________________________________________________
public class Hooks extends DriverFactory {
static AppiumDriverLocalService service;
@Before
public static void setUpDriver(int port, String simulator) throws InterruptedException {
service = AppiumDriverLocalService
.buildService(new AppiumServiceBuilder().usingPort(port)
.usingDriverExecutable(new File("path/to/node/file"))
.withAppiumJS(new File("/path/to/appium/file")));
System.out.println("\n Appium server: " + service.getUrl());
service.start();
Thread.sleep(2000);
try {
setUpMobileDriver(simulator);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
最佳答案
您可以从Maven传递,也可以使用系统属性
关于java - 如何在TestRunner的Hooks类中调用@Before方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57706856/