How to make the opening of browser(all test in one browser) static in testng for selenium



  • 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



  • You mean to say in one class multiple methods you want to run, then use below code and try. @BeforeTest public static void beforeMethod() { driver= new FirefoxDriver(); } @Test public void main1() { driver.get("http://indianrail.gov.in/pnr_Enq.html"); driver.findElement(By.id("element")).sendKeys("1234567890"); String captcha = driver.findElement(By.id("txtCaptchaDiv")).getText(); System.out.println("Captcha is: " +captcha); driver.findElement(By.id("txtInput")).sendKeys(captcha); } @Test public void main2() { driver.findElement(By.className("btn_style")).click(); } @Test public void main3() { System.out.println("The title is: " +driver.getTitle()); }



Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2