I'm having class with setup() and login().
Created another class Edit profile, calling setup and login in @BeforeClass and getting null poiinter exception.
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{
*****//instantiated web driver in the line below//
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();
}
}