How can selenium close browser be used multiple times in TestNG?
I have two scripts trying to run using testng.
In 1st script launching browser at the end closing the browser.
In the second script again launching the browser and closing at the end.
But getting below error.
org.testng.TestNGException:
Cannot instantiate class hotelsScripts.TS03_Hotelstours_StarGrade
at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:40)
at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:382)
at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:295)
at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:118)
at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:183)
at org.testng.internal.TestNGClassFinder.
at org.testng.TestRunner.init Methods(TestRunner.java:416)
at org.testng.TestRunner.init(TestRunner.java:242)
at org.testng.TestRunner.init(TestRunner.java:212)
at org.testng.TestRunner.
at org.testng.remote.RemoteTestNG$1.newTestRunner(RemoteTestNG.java:143)
at org.testng.remote.RemoteTestNG$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG.java:272)
at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:587)
at org.testng.SuiteRunner.init(SuiteRunner.java:161)
at org.testng.SuiteRunner.
at org.testng.TestNG.createSuiteRunner(TestNG.java:1290)
at org.testng.TestNG.createSuiteRunners(TestNG.java:1277)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1131)
at org.testng.TestNG.run(TestNG.java:1048)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:112)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:205)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:176)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:29)
... 21 more
Caused by: org.openqa.selenium.WebDriverException: Unable to bind to locking port 7054 within 45000 ms
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:32:46'
System info: host: 'ADMINIB-UKGT3G2', ip: '9.78.194.222', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_71'
Driver info: driver.version: FirefoxDriver
at org.openqa.selenium.internal.SocketLock.lock(SocketLock.java:99)
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:80)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:271)
at org.openqa.selenium.remote.RemoteWebDriver.
at org.openqa.selenium.firefox.FirefoxDriver.
at org.openqa.selenium.firefox.FirefoxDriver.
at org.openqa.selenium.firefox.FirefoxDriver.
at org.openqa.selenium.firefox.FirefoxDriver.
at hotelsScripts.TS01_Hotels_Amenties.
at hotelsScripts.TS03_Hotelstours_StarGrade.
... 26 more
For the selenium close browser, I will suggest: If possible avoid just closing and opening browser if there is not such a requirement Understand the driver.close() and driver.quit() driver.close() will close the current window and driver instance will be present driver.quit() will close all the windows and cleans up the driver instance too To resolve your error: Agree with Niels, Lets see if increase in wait will work Do not close browser after each tests