When the server is launched, command line
options can be used to change the default server behaviour.
Recall, the server is started by running the
following.
$ java -jar selenium-server-standalone-<version-number>.jar
To see the list of options, run the server with
the -h option.
$ java -jar selenium-server-standalone-<version-number>.jar
-h
You’ll see a list of all the options you can use
with the server and a brief description of each. The provided descriptions will
not always be enough, so we’ve provided explanations for some of the more
important options.
Proxy Configuration
If your AUT is behind an HTTP proxy which
requires authentication then you should configure http.proxyHost,
http.proxyPort, http.proxyUser and http.proxyPassword using the following
command.
$ java -jar selenium-server-standalone-<version-number>.jar
-Dhttp.proxyHost=proxy.com -Dhttp.proxyPort=8080
-Dhttp.proxyUser=username -Dhttp.proxyPassword=password
Multi-Window Mode
If you are using Selenium 1.0 you can probably
skip this section, since multiwindow mode is the default behavior. However,
prior to version 1.0, Selenium by default ran the application under test in a
sub frame as shown here.
Some applications didn’t run correctly in a sub
frame, and needed to be loaded into the top frame of the window. The multi-window
mode option allowed the AUT to run in a separate window rather than in the
default frame where it could then have the top frame it required.
For older versions of Selenium you must specify
multiwindow mode explicitly with the following option:
-multiwindow
As of Selenium RC 1.0, if you want to run your
test within a single frame (i.e. using the standard for earlier Selenium
versions) you can state this to the Selenium Server using the option
-singlewindow
Specifying the Firefox
Profile
Firefox will not run two instances
simultaneously unless you specify a separate profile for each instance.
Selenium RC 1.0 and later runs in a separate profile automatically, so if you
are using Selenium 1.0, you can probably skip this section. However, if you’re using
an older version of Selenium or if you need to use a specific profile for your
tests (such as adding an https certificate or having some addons installed),
you will need to explicitly specify the profile.
First, to create a separate Firefox profile, follow
this procedure. Open the Windows Start menu, select “Run”, then type and enter
one of the following:
firefox.exe -profilemanager
firefox.exe -P
Create the new profile using the dialog. Then
when you run Selenium Server, tell it to use this new Firefox profile with the
server command-line option -firefoxProfileTemplate and specify
the path to the profile using its filename and directory path.
-firefoxProfileTemplate "path to the profile"
Warning
Be sure to put your profile in a new folder
separate from the default!!! The Firefox profile manager tool will delete all
files in a folder if you delete a profile, regardless of whether they are
profile files or not.
More information about Firefox profiles can be
found in Mozilla’s
Knowledge Base
Run Selenese Directly
Within the Server Using -htmlSuite
You can run Selenese html files directly within
the Selenium Server by passing the html file to the server’s command line. For
instance:
java -jar selenium-server-standalone-<version-number>.jar
-htmlSuite "*firefox"
"http://www.google.com" "c:\absolute\path\to\my\HTMLSuite.html"
"c:\absolute\path\to\my\results.html"
This will automatically launch your HTML suite,
run all the tests and save a nice HTML report with the results.
Note
When using this option, the server will start
the tests and wait for a specified number of seconds for the test to complete;
if the test doesn’t complete within that amount of time, the command will exit
with a non-zero exit code and no results file will be generated.
This command line is very long so be careful
when you type it. Note this requires you to pass in an HTML Selenese suite, not
a single test. Also be aware the -htmlSuite option is incompatible with -interactive You cannot run both
at the same time.
Selenium Server Logging
Server-Side Logs
When launching selenium server the -log option
can be used to record valuable debugging information reported by the Selenium
Server to a text file.
java -jar selenium-server-standalone-<version-number>.jar
-log selenium.log
This log file is more verbose than the standard
console logs (it includes DEBUG level logging messages). The log file also
includes the logger name, and the ID number of the thread that logged the
message. For example:
20:44:25 DEBUG [12] org.openqa.selenium.server.SeleniumDriverResourceHandler -
Browser 465828/:top frame1 posted START NEW
The message format is
TIMESTAMP(HH:mm:ss) LEVEL [THREAD] LOGGER - MESSAGE
This message may be multiline.
Browser-Side Logs
JavaScript on the browser side (Selenium Core)
also logs important messages; in many cases, these can be more useful to the
end-user than the regular Selenium Server logs. To access browser-side logs,
pass the -browserSideLog argument to the Selenium Server.
java -jar selenium-server-standalone-<version-number>.jar
-browserSideLog
-browserSideLog must
be combined with the -log argument, to log browserSideLogs (as
well as all other DEBUG level logging messages) to a file.
Specifying the Path to a
Specific Browser
You can specify to Selenium RC a path to a
specific browser. This is useful if you have different versions of the same
browser and you wish to use a specific one. Also, this is used to allow your
tests to run against a browser not directly supported by Selenium RC. When
specifying the run mode, use the *custom specifier followed by the full path to
the browser’s executable:
*custom <path to browser>
No comments:
Post a Comment