如果我的子步骤文件已经扩展了一个类,如何创建一个MasterStep/BaseStep?如果我的子步骤文件已经扩展了一个类,如何创建一个MasterStep/BaseStep?
为我的脚步文件中的一个示例代码:
public class LoginSteps extends DriverFactory {
WebDriver driver = getDriver();
@Given("^User navigates to the \"([^\"]*)\" website$")
public void user_navigates_to_the_website(String url) throws Throwable {
basePage.loadUrl(url);
}
@And("^User entered the \"([^\"]*)\" username$")
public void user_entered_the_username(String username) throws Throwable {
loginPage.setUsername(username);
}
@And("^User entered the \"([^\"]*)\" password$")
public void user_entered_the_password(String password) throws Throwable {
l
我需要使用下面的下面的标签/代码,但我不希望每一步类/文件中的重复和尝试添加黄瓜标签时在我的DriverFactory im不允许,因为Cucumber dosnt允许你在扩展类中添加标签。
@After
public void close_browser_window(Scenario scenario) throws Exception {
if (scenario.isFailed()) {
scenario.embed(((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES), "image/png");
}
}
感谢您的帮助
想想为什么'LoginSteps'延伸'DriverFactory'。它真的是一种'DriverFactory'吗?考虑使用组合而不是继承。 – azurefrog
@azurefrog谢谢,但我需要一个位置来初始化我的其他类,\t \t basePage = PageFactory.initElements(driver,BasePage.class); – Gbru
你不需要重复所有类中的钩子代码之后。在任何课堂上提及它,黄瓜会把它捡起来。对于每个场景,创建所有步骤定义和钩子类的新实例。 – Grasshopper