Java 黄瓜';在'之后;钩子坏了?
黄瓜“后”钩不起作用 我有一个DriverFactory类,它执行下面列出的设置等,但是一旦执行了所有步骤,DriverFactory中的“Cucumber After”方法似乎不起作用 我想要一个主hooks类“Before”“After”等,它将停止Step文件中的代码复制Java 黄瓜';在'之后;钩子坏了?,java,selenium-webdriver,webdriver,cucumber,Java,Selenium Webdriver,Webdriver,Cucumber,黄瓜“后”钩不起作用 我有一个DriverFactory类,它执行下面列出的设置等,但是一旦执行了所有步骤,DriverFactory中的“Cucumber After”方法似乎不起作用 我想要一个主hooks类“Before”“After”等,它将停止Step文件中的代码复制 public class DriverFactory { protected WebDriver driver; protected BasePage basePage; protected LoginPage log
public class DriverFactory {
protected WebDriver driver;
protected BasePage basePage;
protected LoginPage loginPage;
public WebDriver getDriver() {
if(driver == null) {
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "\\src\\test\\java\\resources\\other\\chromedriver.exe");
this.driver = new ChromeDriver();
this.driver.manage().window().maximize();
this.driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
}
return this.driver;
}
public WebDriver returnDriver() {
return this.driver;
}
@After
public void test() throws Throwable {
this.driver.close();
this.driver.quit();
}
}
我也有同样的问题——我的前钩有效,但后钩无效。这原来是由于一个简单的导入问题——可能是由于Intellij向我提供导入列表时选择了错误的选项。我选择了junit.After类而不是cumber.api.Java.After类:
import cucumber.api.java.Before;
import cucumber.api.java8.En;
import org.junit.After;
import org.openqa.selenium.By;
我对cucumber java和cucumber junit都使用1.2.4版本,它对我来说很好。我看不出全局钩子有任何问题。@Gaurang Shah您能扩展具有全局钩子的类吗?例如classA扩展了classGlobalHooks?我从来都不需要它,所以我不知道。你可以试一试。@Gaurang Shah但是如果在一个单独的类中有,那么主钩子怎么知道什么时候执行呢?他们不需要。只要它们在类路径中。Cucumber找到了其他java文件所在的位置。
import cucumber.api.java.Before;
import cucumber.api.java8.En;
import org.junit.After;
import org.openqa.selenium.By;