Cucumber 黄瓜,最大的挑战,浏览器调用

Cucumber 黄瓜,最大的挑战,浏览器调用,cucumber,Cucumber,在我的框架中,每个功能文件在转换为step def时,我必须输入浏览器调用代码(SetProperties),并且对于每个操作,都会出现新的窗口。请帮助我解决我在Inherence中尝试的问题,我将代码和扩展到step def类都不起作用。我想打开一个浏览器,该浏览器将对每个要素文件执行操作 例如:我有一个用于登录内容验证的功能文件和另一个用于登录后验证的功能文件 我再次输入了登录用户名和密码,登录后我必须将用户名和密码与浏览器调用代码一起输入到另一个功能文件中 如果你还在寻找答案。我建议在每个

在我的框架中,每个功能文件在转换为step def时,我必须输入浏览器调用代码(SetProperties),并且对于每个操作,都会出现新的窗口。请帮助我解决我在Inherence中尝试的问题,我将代码和扩展到step def类都不起作用。我想打开一个浏览器,该浏览器将对每个要素文件执行操作

例如:我有一个用于登录内容验证的功能文件和另一个用于登录后验证的功能文件


我再次输入了登录用户名和密码,登录后我必须将用户名和密码与浏览器调用代码一起输入到另一个功能文件中

如果你还在寻找答案。我建议在每个步骤定义文件或页面对象类内部初始化浏览器(如果您使用的是POM)。创建一个类,例如:TestContext.java在该类中初始化webdriver

公共类TestContext{

private WebDriverLibrary webDriverLibrary;
private PageObjectLibrary pageObjectLibrary;

public TestContext() {
    webDriverLibrary = new WebDriverLibrary();
    pageObjectLibrary = new PageObjectLibrary(webDriverLibrary.getDriver());
}

// return WebDriverLibrary object
public WebDriverLibrary getWebDriverLibrary() {
    return webDriverLibrary;
}

// return PageObjectLibrary object
public PageObjectLibrary getPageObjectLibrary() {
    return pageObjectLibrary;
}
}

公共类WebDriverLibrary{

private static WebDriver driver;
private static DriverType driverType;
private static EnvironmentType environmentType;

public WebDriverLibrary() {

    driverType = FileReaderLibrary.getInstance().getConfigReader().getBrowser();
    environmentType = FileReaderLibrary.getInstance().getConfigReader().getEnvironment();
}

// return webdriver instance
public WebDriver getDriver() {
    if (driver == null)
        driver = createDriver();
    return driver;
}

private WebDriver createDriver() {

    switch (environmentType) {
    case LOCAL:
        driver = createLocalDriver();
        break;
    case REMOTE:
        driver = createRemoteDriver();
        break;
    }
    return driver;

}
}


希望这对您有所帮助。

添加您的相关代码请重写问题以提供更清晰的解释并添加一些示例。您使用的是哪种语言?您使用的是什么框架或库?我们可以有一些代码,以便更好地回答您的问题吗?