我正在用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;
}
}
答案 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