I am using selenium and testNG framework for my project. Now what is happening is each class is opening up a browser and then run its methods, eg, if I have five classes, then five browsers will open simultaneously and then run the tests. I want to Open Browser at the start once and run all the methods and then close it.
public class openSite { public static WebDriver driver; @test public void openMain() { System.setProperty("webdriver.chrome.driver","E:/drive/chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("http://vtu.ac.in/"); } @test //Clicking on the first link on the page public void aboutVTU() { driver.findElement(By.id("menu-item-323")).click(); } @Test //clicking on the 2nd link in the page public void Institutes() { driver.findElement(By.id("menu-item-325")).click(); } Now What I want is the testNG should open browser once and open vtu.ac.in once and then execute the methods aboutVTU and Institutes and give me the result
driverinstantiating again inopenMain()method.You have already declared it asstatic. Use @BeforeClass method to initiate webdriver. remaining else in@Test. Go through this testng.org/doc/documentation-main.html#annotationswebdriverfrom this line ` WebDriver driver = new ChromeDriver();` that is the line causing null pointer exception