Selenium - 在@BeforeTest启动Pagefatory.initelements时获取nullpointer异常,其中使用@BeforeMedthod处理相同的代码

时间:2018-04-18 07:08:11

标签: java selenium testng

@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();    
    }     
}    

1 个答案:

答案 0 :(得分:0)

您收到NullPointerException,因为@BeforeTest是在@BeforeClass注释之前运行的。这会导致在初始化之前使用driver

切换

@BeforeClass    
public void beforeClass()    
{    
    driver = new ChromeDriver();    
}   

@BeforeSuite    
public void beforeClass()    
{    
    driver = new ChromeDriver();    
}  

@BeforeSuite在任何其他注释之前先运行。