Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 黄瓜';在'之后;钩子坏了?_Java_Selenium Webdriver_Webdriver_Cucumber - Fatal编程技术网

Java 黄瓜';在'之后;钩子坏了?

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

黄瓜“后”钩不起作用

我有一个DriverFactory类,它执行下面列出的设置等,但是一旦执行了所有步骤,DriverFactory中的“Cucumber After”方法似乎不起作用

我想要一个主hooks类“Before”“After”等,它将停止Step文件中的代码复制

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;