@beforetest testng 由于某种原因它被忽略了
@beforetest testng its being ignored for some reason
我正在 运行 我的 Cucumber 套件使用 TestNG (Selenium + Java) 进行测试并获得 java.lang.NullPointerException.
我意识到问题是我的@BeforeTest() 由于某种原因被忽略导致 NullPointer 问题。
我正在使用 TestNG 7.0.0(但也尝试使用最新的 Beta)。
@BeforeTest()
public void setUp() {
driver = Web.createChrome(); // it call a method that has the Chromedriver
}
Web.java
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;
}
}
输出
java.lang.NullPointerException
at br.dsanders.steps.steps.accessing_the_Tnternet_herokuapp_com_website(steps.java:62)
at ?.Given accessing the Tnternet.herokuapp.com website(testing.feature:9)
尝试如下:
public class steps {
WebDriver driver = null;
public steps() {
this.driver=Web.createChrome();
}
@BeforeMethod()
public void setUp() {
driver.get("http://the-internet.herokuapp.com/");
}
}
注意此处的 ClassName 是 steps
如果您有其他 class 名称,则更改 class 名称和构造函数名称。
将 @BeforeTest
更改为 @BeforeMethod
来源:
What is the difference between BeforeTest and BeforeMethod in TestNG
我正在 运行 我的 Cucumber 套件使用 TestNG (Selenium + Java) 进行测试并获得 java.lang.NullPointerException.
我意识到问题是我的@BeforeTest() 由于某种原因被忽略导致 NullPointer 问题。
我正在使用 TestNG 7.0.0(但也尝试使用最新的 Beta)。
@BeforeTest()
public void setUp() {
driver = Web.createChrome(); // it call a method that has the Chromedriver
}
Web.java
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;
}
}
输出
java.lang.NullPointerException
at br.dsanders.steps.steps.accessing_the_Tnternet_herokuapp_com_website(steps.java:62)
at ?.Given accessing the Tnternet.herokuapp.com website(testing.feature:9)
尝试如下:
public class steps {
WebDriver driver = null;
public steps() {
this.driver=Web.createChrome();
}
@BeforeMethod()
public void setUp() {
driver.get("http://the-internet.herokuapp.com/");
}
}
注意此处的 ClassName 是 steps
如果您有其他 class 名称,则更改 class 名称和构造函数名称。
将 @BeforeTest
更改为 @BeforeMethod
来源:
What is the difference between BeforeTest and BeforeMethod in TestNG