Jared Richardson works at Logos Technologies As a recognized expert in the software industry, Jared has worked with both start-ups and software giants. He's been involved with various open source projects, with roles from contributor to founder. Jared co-authored the best selling book Ship It! and Career 2.0, and founded the Agile RTP user group as a local outlet for the agile community in North Carolina. His personal blog is Agile Artisans Jared has posted 52 posts at DZone. You can read more from them at their website. View Full User Profile

Running Selenium on an Alternate Port; Starting the Server from Ant

12.09.2009
| 17622 views |
  • submit to reddit
I found myself needing to run Selenium tests from Java against a Selenium server running on a port other than the default 4444. Every example on the web showed me almost the right way to configure this from within JUnit... so now that I've got it working, I'm documenting it. :)

public void setUp() throws Exception {
// this is the normal way
// setUp(server_url, "*chrome");

// this is the alternate port way
selenium = new DefaultSelenium("localhost", 11111, "*firefox", server_url );
selenium.start();
}

Hopefully this will save a few others some time!

Free Bonus Tip

Here's how to start and stop the Selenium server from an Ant script.

    <target name="start_server" description="Starts a Selenium Server in the background">
<java jar="${lib}/selenium-server.jar" fork="true" spawn="true"/>
</target>

<target name="stop_server" description="Stops your local Selenium Server">
<get taskname="selenium-shutdown"
src="http://localhost:4444/selenium-server/driver/?cmd=shutDown"
dest="result.txt"
ignoreerrors="true" />
</target>

Update

The above Ant script worked for me on Linux, but seems to not work on Windows. (sigh).

Change the arg from value= to line= and it's now working on Windows.

<java jar="${lib}/selenium-server.jar" fork="true" spawn="true" >
&ltarg line="-port 4444"/>
</java>

I've also found this useful.

<waitfor maxwait="30" maxwaitunit="second">
<socket server="localhost" port="${selenium.server.port}"/>
</waitfor>

From http://agileartisans.com

0
Your rating: None
Published at DZone with permission of its author, Jared Richardson.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)