我正在建立一个自动化框架,以使用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/

10-09 08:38