I've written a rather crude test for this with some success.
Unfortunately I couldn't get the FirefoxChromeLauncherIntegrationTest
to pass due to a NullPointerException at
org.openqa.selenium.server.browserlaunchers.LauncherUtils.extractHTAFile
(LauncherUtils.java:227) - full stack after sig.
Instead I added a test called
testLaunchMultipleBrowsersConcurrentlyWithDefaultConfiguration in
FirefoxCustomProfileLauncherIntegrationTest. This seems to have
problems launching 20 concurrent browsers. When we run our tests we
often get issues running just 5 concurrent browsers. This would either
imply a difference between FirefoxChrome and FirefoxCustomProfile
launchers, or perhaps there are issues with browsers closing while
others are starting..?
Let me know if you want me to provide a patch with this test. My
preference would be to get the FirefoxChrome launcher tests working.
The issue appears to be "/core/TestPrompt.html" not being on my class-
path. Any ideas? Are there tests passing for you? I'm running them in
Eclipse.
Feel like we're finally getting somewhere. I like reproducible
failures. :)
Cheers,
Dave.
java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at
org.openqa.selenium.server.browserlaunchers.LauncherUtils.extractHTAFile
(LauncherUtils.java:227)
at
org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.copyRunnerHtmlFiles
(FirefoxChromeLauncher.java:202)
at
org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.makeCustomProfile
(FirefoxChromeLauncher.java:185)
at
org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.launch
(FirefoxChromeLauncher.java:82)
at
org.openqa.selenium.server.browserlaunchers.LauncherFunctionalTestCase.launchBrowser
(LauncherFunctionalTestCase.java:17)
at
org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncherIntegrationTest.testLauncherWithDefaultConfiguration
(FirefoxChromeLauncherIntegrationTest.java:12)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.JUnit38ClassRunner.run
(JUnit38ClassRunner.java:81)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run
(JUnit4TestReference.java:45)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run
(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
(RemoteTestRunner.java:196)