我正在使用setup()和login()类。调用设置和登录方法会抛出NullPointer异常
创建另一个类编辑配置文件,调用@BeforeClass中的设置和登录并获取null poiinter异常。
public class TestLogin {
public static WebDriver driver;// = new FirefoxDriver();
public static String baseURL = Configuration.testsite;
@BeforeTest
@Parameters("browser")
public void setup(String browser) throws Exception{
//Check if parameter passed from TestNG is 'firefox'
if(browser.equalsIgnoreCase("firefox")){
//create firefox instance
driver = new FirefoxDriver();
}
//Check if parameter passed as 'chrome'
else if(browser.equalsIgnoreCase("chrome")){
//set path to chromedriver.exe You may need to download it from http://code.google.com/p/selenium/wiki/ChromeDriver
System.setProperty("webdriver.chrome.driver","//Users/eugeneshapo/Documents/chromedriver");
//create chrome instance
driver = new ChromeDriver();
}
else if(browser.equalsIgnoreCase("safari")){
//create chrome instance
driver = new SafariDriver();
}
else{
//If no browser passed throw exception
throw new Exception("Browser is not correct");
}
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
//Login test
@Test
public void testLogin() throws InterruptedException{
driver.get(baseURL);
driver.manage().timeouts().implicitlyWait(20L, TimeUnit.SECONDS);
analyticsLoginPage mylogin = PageFactory.initElements(driver, analyticsLoginPage.class);
mylogin.verifylogin("username", "password");
Thread.sleep(3000);
}
@AfterTest
public static void quitDriver(){
driver.quit();
}
}
@Test//(dependsOnMethods = { "testLogin" })
public void verifyEditProfile() throws InterruptedException{
***** // //下面
WebDriver driver = new ChromeDriver();
analyticsLandingPage landingpage = PageFactory.initElements(driver, analyticsLandingPage.class);
analyticsEditProfilePage editprofile = PageFactory.initElements(driver, analyticsEditProfilePage.class);
landingpage.gotoProfile();
editprofile.verifyEditFirstName();
editprofile.verifyEditLastName();
editprofile.verifyCompanyName();
editprofile.verifyReportingProfile();
editprofile.verifyUsageStatistics();
}
@AfterTest
public static void quitDriver(){
driver.quit();
}
}
您可以提交堆栈跟踪吗? – MaximeF