Hi Everybody,
Currently I'm performing some concurrent/multi user test of web application via Apache Jmeter and there is a need to include functional tests in Jmeter test suite. I tried to perform it using Jmeter BeanShell extension as below:
import org.openqa.selenium.server.SeleniumServer;\\ import com.thoughtworks.selenium.DefaultSelenium;
\\ SeleniumServer server = new SeleniumServer(4445);
server.start();
DefaultSelenium selenium = new DefaultSelenium("localhost", 4445, "*firefox c:\\program files\\mozilla firefox\\firefox.exe", "
http://192.168.4.60:8080");
selenium.start();\\ Thread.sleep(1000); \\ selenium.stop();
server.stop();
I'm able to start Selenium server itself but when I try to instantiate DefaultSelenium I catch following exception:
2009/02/24 13:36:24 WARN - org.mortbay.http.HttpConnection: POST /selenium-server/driver/ HTTP/1.1 java.lang.RuntimeException: Bug! URI failed to parse: file:D:\jmeter\lib\sele\\ m-server.jar\\ at org.openqa.selenium.server.browserlaunchers.ResourceExtractor.getJarFileFromUrl(ResourceExtractor.java:99)\\ at org.openqa.selenium.server.browserlaunchers.ResourceExtractor.extractResourcePath(ResourceExtractor.java:39)\\ at org.openqa.selenium.server.browserlaunchers.FirefoxCustomProfileLauncher.makeCustomProfile(FirefoxCustomProfileLauncher.java:169)\\ at org.openqa.selenium.server.browserlaunchers.FirefoxCustomProfileLauncher.launch(FirefoxCustomProfileLauncher.java:130)\\ at org.openqa.selenium.server.browserlaunchers.AbstractBrowserLauncher.launchRemoteSession(AbstractBrowserLauncher.java:24)\\ at org.openqa.selenium.server.BrowserSessionFactory.createNewRemoteSession(BrowserSessionFactory.java:312)\\ at org.openqa.selenium.server.BrowserSessionFactory.getNewBrowserSession(BrowserSessionFactory.java:113)\\ at org.openqa.selenium.server.BrowserSessionFactory.getNewBrowserSession(BrowserSessionFactory.java:78)\\ at org.openqa.selenium.server.SeleniumDriverResourceHandler.getNewBrowserSession(SeleniumDriverResourceHandler.java:653)\\ at org.openqa.selenium.server.SeleniumDriverResourceHandler.doCommand(SeleniumDriverResourceHandler.java:410)\\ at org.openqa.selenium.server.SeleniumDriverResourceHandler.handleCommandRequest(SeleniumDriverResourceHandler.java:388)\\ at org.openqa.selenium.server.SeleniumDriverResourceHandler.handle(SeleniumDriverResourceHandler.java:135)\\ at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)\\ at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)\\ at org.mortbay.http.HttpServer.service(HttpServer.java:909)\\ at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)\\ at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)\\ at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)\\ at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)\\ at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)\\ at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)\\ Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 7: file:D:\jmeter\lib\selenium-server.jar\\ at java.net.URI$Parser.fail(URI.java:2809)\\ at java.net.URI$Parser.checkChars(URI.java:2982)\\ at java.net.URI$Parser.parse(URI.java:3019)\\ at java.net.URI.<init>(URI.java:578)\\ at org.openqa.selenium.server.browserlaunchers.ResourceExtractor.getJarFileFromUrl(ResourceExtractor.java:96)\\ ... 20 more
My environment is:
java version "1.6.0_11",
selenium.core.version=1.0-beta-1\\ selenium.rc.version=1.0-beta-1\\ selenium.rc.revision=2201\\ selenium.core.revision=1994
Could anyone please help me in implementing this solution?
Thanks in advance,
Dmitru