Selenium Java Launcher (selenium_java.jar)
The Selenium Java launcher allows interfacing with Selenium Java tests.It has been tested with Selenium 1.0.
Configuration
Theselenium_java.xml file allows pre-configuring the launcher with some default values:| Parameter | Description |
| General | |
| Test root path | This must indicate where are located all the Selenium Java tests (.class files). This is a root path. Each test in XStudio has a canonical path that will be appended to this path. This path MUST not include an ending slash. Default value is: C:/build/classes
|
| Additional classpath | This may indicate some additional classpath necessary to execute the tests. Default value is: <empty>
|
| Selenium - Java | |
| Java install path | This must indicate the path to the java install. Default value is: C:/Program Files/Java/jdk1.6.0_06
|
| Server JAR path | This must indicate the path to the Selenium Remote Control Server. Default value is: C:/Program Files/Selenium-1.0/selenium-remote-control-1.0.1/selenium-server-1.0.1/selenium-server.jar
|
| Server options | This may indicate optional arguments to pass to the Selenium Remote Control Server. Default value is: -singleWindow -trustAllSSLCertificates
|
| Java client driver JAR path | This must indicate the path to the Selenium Remote Control Java Client Driver jar. Default value is: C:/Program Files/Selenium-1.0/selenium-remote-control-1.0.1/selenium-java-client-driver-1.0.1/selenium-java-client-driver.jar
|
| Execution framework | This must indicate the execution framework to run the selenium tests. The execution framework can be JUnit3, JUnit4 or TestNG and it depends on how you wrote your tests. Default value is: JUnit4
|
| JUnit | |
| JUnit jar path | This must indicate the path to the JUnit library. Default value is: C:/Program Files/junit4.7/junit-4.7.jar
|
| TestNG | |
| TestNG jar path | This must indicate the path to the TestNG library. Default value is: C:/Program Files/testng-5.10/testng-5.10-jdk15.jar
|
These values can be changed while creating the campaign session from XStudio.
Requirements
Before any test is initiated, the launcher will start teh selenium server by executing the following command:"<javaInstallPath>/bin/java.exe" -jar "<seleniumServerJarPath>" <seleniumServerOptions>
Depending on the execution framework selected in the coniguration, the tests are executed by the launcher using one of these syntaxes:
For JUnitv3:
"<javaInstallPath>/bin/java.exe"
–classpath "<junitJarPath>;<additionalClassPath>;<javaClientDriverJarPath>;<testRootPath>"
junit.textui.TestRunner <testPath>.<testName>
For JUnitv4:
"<javaInstallPath>/bin/java.exe"
–classpath "<junitJarPath>;<additionalClassPath>;<javaClientDriverJarPath>;<testRootPath>"
org.junit.runner.JUnitCore <testPath>.<testName>
For TestNG:
"<javaInstallPath>/bin/java.exe"
–classpath "<testNGJarPath>;<additionalClassPath>;<javaClientDriverJarPath>;<testRootPath>"
org.testng.TestNG -testclass <testPath>.<testName>
And this is executed from the working directory
<testRootPath>The test will be marked as passed or failed depending on the report and traces generated by Selenium. The report and the execution traces are also attached to the testcase execution in XStudio.
Tutorial: Creating and executing Selenium Java tests
In this tutorial, we will learn to run some Selenium Java test scripts.Prerequisites
Install Selenium 1.0 in the folderC:\Externals\Selenium-1.0Install JUnit 4.7 in the folder
C:\Program Files\junit4.7Create a file
C:\tests\selenium\java_junit\example\basic_test.java and edit it with the following content:package test.selenium.java_junit;
import com.thoughtworks.selenium.SeleneseTestCase;
public class basic_test extends SeleneseTestCase {
@Override
public void setUp() throws Exception {
//setUp("http://www.xqual.com/", "*chrome"); // Chrome
//setUp("http://www.xqual.com/", "*firefox"); // Firefox
setUp("http://www.xqual.com/", "*iehta"); // IE
}
public void basic_test_test1() throws Exception {
selenium.open("/");
assertTrue(selenium.isTextPresent("language/localization, rights,"));
}
public void basic_test_test2() throws Exception {
selenium.open("/");
assertTrue(selenium.isTextPresent("some text not exsiting in the page"));
}
}
Create a dedicated category for Selenium Java tests and create a test
- create a category Selenium Java associated to the launcher selenium_java.jar
- under this category, create (somewhere in the tree) a test with name basic_test and with a canonical path set to example.
Creating a test campaign
- create a campaign including only the test basic_test
- create a campaign session specifying in the configuration:
- Test root path:
C:/tests/selenium/java_junit - Additional classpath:
<empty> - Java install path:
C:/Program Files/Java/jdk1.6.0_06 - Server Jar Path:
C:/Externals/Selenium-1.0/selenium-remote-control-1.0.1/selenium-server-1.0.1/selenium-server.jar - Server options:
-singleWindow -trustAllSSLCertificates - Java client driver JAR path:
C:/Program Files/Selenium-1.0/selenium-remote-control-1.0.1/selenium-java-client-driver-1.0.1/selenium-java-client-driver.jar - JUnit jar path:
C:/Program Files/junit4.7/junit-4.7.jar
- Test root path:
Run a campaign session
Run the campaign sessionWhat about TestNG?
The process is similar for TestNG tests. The only difference is that the annotation in the source file will use TestNG directives:package test.selenium.java_testng;
import org.testng.annotations.Test;
import com.thoughtworks.selenium.SeleneseTestBase;
public class basic_test extends SeleneseTestBase {
@Test public void basic_test_test1() throws Exception {
selenium.open("/");
}
}

