@beforetest testng由于某种原因被忽略

时间:2019-10-02 15:03:35

标签: java automated-tests cucumber testng

我正在用TestNG(Selenium + Java)运行Cucumber套件测试,并获取java.lang.NullPointerException。

我意识到问题是我的@BeforeTest()由于某种原因而被忽略,从而导致NullPointer问题。

我正在使用TestNG 7.0.0(但也尝试使用最新的Beta)。

Notebook

Web.java

@BeforeTest() 
public void setUp() {
    driver = Web.createChrome(); // it call a method that has the Chromedriver
}

输出

public class Web {

public static WebDriver createChrome() {

    System.setProperty("webdriver.chrome.driver", webdriver_path);

    WebDriver driver = new ChromeDriver();
    driver.manage().window().maximize();
    driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    driver.get("http://the-internet.herokuapp.com/");

    return driver;
}
}

1 个答案:

答案 0 :(得分:1)

尝试如下:

public class steps {


    WebDriver driver = null;

    public steps() {

        this.driver=Web.createChrome();

    }

@BeforeMethod() 
public void setUp() {
    driver.get("http://the-internet.herokuapp.com/");
  }
}

请注意,如果您还有其他类名,则此处的类名是steps,然后更改类名和构造函数名。

@BeforeTest更改为@BeforeMethod

来源:

What is the difference between BeforeTest and BeforeMethod in TestNG

相关问题