在 @BeforeTest 启动Pagefatory.initelements时获取nullpointer异常,其中使用 @BeforeMedthod
执行相同的代码public class HRMSAUT
{
private WebDriver driver;
LoadUrl loadUrl;
Login loginUrl;
@BeforeClass
public void beforeClass()
{
driver = new ChromeDriver();
}
@BeforeTest //Initiating PageFatory Elements
public void beforeTest1()throws Exception
{
loadUrl=PageFactory.initElements(driver, LoadUrl.class);
loginUrl=PageFactory.initElements(driver,Login.class);
}
@Test
public void HRMSlogin() throws Exception
{
loadUrl.load();
loginUrl.enterusername("Demo");
loginUrl.enterpassword("demo");
loginUrl.clickonloginbutton();
}
}
答案 0 :(得分:0)
您收到NullPointerException
,因为@BeforeTest
是在@BeforeClass
注释之前运行的。这会导致在初始化之前使用driver
。
切换
@BeforeClass
public void beforeClass()
{
driver = new ChromeDriver();
}
到
@BeforeSuite
public void beforeClass()
{
driver = new ChromeDriver();
}
@BeforeSuite
在任何其他注释之前先运行。