Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

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

DZone's Guide to

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

· Java Zone ·
Free Resource

FlexNet Code Aware, a free scan tool for developers. Scan Java, NuGet, and NPM packages for open source security and open source license compliance issues.

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

 Scan Java, NuGet, and NPM packages for open source security and license compliance issues. 

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}