Some tests which have JavaScripts that are taking a long time, caused the browser to display a message that says - there is a script on the page that is not responding. Do you want to continue or ... When this message occured, the browser just sits there and selenium server for that browser type remained out of the pool. As a result, the following tests are failing to get a session.
When I run the test with the Selenium Proxy without the grid, and the test runs into the same message, but the Selenium proxy closes the browser after a 45 second time out.
The grid should close the browser if there is no reponse after x seconds? I think currently it takes a long long time for the grid to close the browser.
===
We get the following errors
ie6: com.thoughtworks.selenium.SeleniumException: ERROR: Threw an exception: 'selenium.browserbot.getCurrentWindow().sforce.connection' is null or not an object
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:73)
at com.thoughtworks.selenium.HttpCommandProcessor.getString(HttpCommandProcessor.java:154)
at com.thoughtworks.selenium.DefaultSelenium.getEval(DefaultSelenium.java:322)
at test.util.SeleniumTest.getEval(SeleniumTest.java:1305)
at core.activity.EventTeamViewTest.setBrowserSessionId(EventTeamViewTest.java:1409)
at core.activity.EventTeamViewTest.testSessionTimeoutAmbiguousAccount(EventTeamViewTest.java:1336)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at test.util.BaseTest.runTest(BaseTest.java:274)
at test.util.SeleniumTest.runTest(SeleniumTest.java:232)
at test.util.SimpleTestCase.runBare(SimpleTestCase.java:157)
at test.runner.TestSetRunner.runTest(TestSetRunner.java:395)
at test.runner.TestSetRunner$3.call(TestSetRunner.java:342)
at test.runner.TestSetRunner$3.call(TestSetRunner.java:324)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
at test.util.SeleniumTest.runTest(SeleniumTest.java:295)
at test.util.SimpleTestCase.runBare(SimpleTestCase.java:157)
at test.runner.TestSetRunner.runTest(TestSetRunner.java:395)
at test.runner.TestSetRunner$3.call(TestSetRunner.java:342)
at test.runner.TestSetRunner$3.call(TestSetRunner.java:324)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
After theat error, everything failed with either
java.lang.Throwable: ( username: admin@1021204960452711.comfirefox: java.lang.UnsupportedOperationException: Catch body broken: IOException from cmd=selectWindow&1=null -> java.net.SocketTimeoutException: Read timed out
at com.thoughtworks.selenium.HttpCommandProcessor.executeCommandOnServlet(HttpCommandProcessor.java:85)
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:68)
at com.thoughtworks.selenium.DefaultSelenium.selectWindow(DefaultSelenium.java:230)
at test.util.SeleniumTest.selectWindow(SeleniumTest.java:1036)
at core.activity.EventPrintableViewTest.testPrintableViewCorrectUsers(EventPrintableViewTest.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at test.util.BaseTest.runTest(BaseTest.java:274)
at test.util.SeleniumTest.runTest(SeleniumTest.java:232)
at test.util.SimpleTestCase.runBare(SimpleTestCase.java:157)
at test.runner.TestSetRunner.runTest(TestSetRunner.java:395)
at test.runner.TestSetRunner$3.call(TestSetRunner.java:342)
at test.runner.TestSetRunner$3.call(TestSetRunner.java:324)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
at test.util.SeleniumTest.runTest(SeleniumTest.java:295)
at test.util.SimpleTestCase.runBare(SimpleTestCase.java:157)
at test.runner.TestSetRunner.runTest(TestSetRunner.java:395)
at test.runner.TestSetRunner$3.call(TestSetRunner.java:342)
at test.runner.TestSetRunner$3.call(TestSetRunner.java:324)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Or
com.thoughtworks.selenium.SeleniumException: ERROR: ERROR: No sessionId provided. Most likely your original newBrowserSession command failed.
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:73)
at com.thoughtworks.selenium.DefaultSelenium.setTimeout(DefaultSelenium.java:506)
at test.util.SeleniumSessionUtil.startSession(SeleniumSessionUtil.java:63)
at test.util.SeleniumTest.getSessionAsUser(SeleniumTest.java:388)
at test.util.SeleniumTest.runTest(SeleniumTest.java:198)
at test.util.SimpleTestCase.runBare(SimpleTestCase.java:157)
at test.runner.TestSetRunner.runTest(TestSetRunner.java:395)
at test.runner.TestSetRunner$3.call(TestSetRunner.java:342)
at test.runner.TestSetRunner$3.call(TestSetRunner.java:324)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)