Confirmed users
2,177
edits
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
moz-grid-config is a project for managing our Selenium infrastructure. It includes the latest version of Selenium that we're using, and a mechanism for starting the hub/nodes. You can find documentation on moz-grid-config at the [https://github.com/mozilla/moz-grid-config github project page]. | moz-grid-config is a project for managing our Selenium infrastructure. It includes the latest version of Selenium that we're using, and a mechanism for starting the hub/nodes. You can find documentation on moz-grid-config at the [https://github.com/mozilla/moz-grid-config github project page]. | ||
== | == Selenium Grid Hub == | ||
The Selenium Grid hub is running on a VM in our data-center. For setup and administration see our [https://mana.mozilla.org/wiki/display/QA/selenium-hub1.qa.scl3.mozilla.com internal Mana page]. | The Selenium Grid hub is running on a VM in our data-center. For setup and administration see our [https://mana.mozilla.org/wiki/display/QA/selenium-hub1.qa.scl3.mozilla.com internal Mana page]. | ||
== | == Selenium Grid Nodes == | ||
We have several Mac minis running as Selenium nodes and 6 VMs running Windows nodes in our data-center. | We have several Mac minis running as Selenium nodes and 6 VMs running Windows nodes in our data-center. | ||
=== Mac OS X === | |||
* '''selenium'''.qa.mtv2.mozilla.com (10.252.73.143) | * '''selenium'''.qa.mtv2.mozilla.com (10.252.73.143) | ||
** Mac Mini; 2.7 Ghz Intel Core i7; 8 GB | ** Mac Mini; 2.7 Ghz Intel Core i7; 8 GB | ||
Line 26: | Line 24: | ||
** Mac OS X 10.7.4, 2.5 GHz Intel Core i5; 4GB 1067 MHz DDR3 | ** Mac OS X 10.7.4, 2.5 GHz Intel Core i5; 4GB 1067 MHz DDR3 | ||
=== Windows === | |||
* '''selenium1'''.qa.scl3.mozilla.com (10.22.73.149) | * '''selenium1'''.qa.scl3.mozilla.com (10.22.73.149) | ||
** Windows 7, 8 GB RAM, 2 cores, 150GB disk | ** Windows 7, 8 GB RAM, 2 cores, 150GB disk | ||
Line 40: | Line 38: | ||
** Windows 7, 8 GB RAM, 2 cores, 150GB disk | ** Windows 7, 8 GB RAM, 2 cores, 150GB disk | ||
=== Starting Mac OS X nodes === | |||
Connect to the appropriate machine, and execute the following from a terminal (you can use SSH or VNC): | Connect to the appropriate machine, and execute the following from a terminal (you can use SSH or VNC): | ||
Line 61: | Line 52: | ||
We need the <code>-autoproxy</code> helper because the these nodes run through a proxy. | We need the <code>-autoproxy</code> helper because the these nodes run through a proxy. | ||
=== Stopping nodes === | |||
Terminate the process using Ctrl+C. | Terminate the process using Ctrl+C. | ||
== Adding a Browser == | |||
=== Configuration === | |||
You will need to fork and clone from the [https://github.com/mozilla/moz-grid-config moz-grid-config github repository] and work on a new branch. | You will need to fork and clone from the [https://github.com/mozilla/moz-grid-config moz-grid-config github repository] and work on a new branch. | ||
# Add the browser, alias, and path to <code>grid_configuration.yml</code>. | # Add the browser, alias, and path to <code>grid_configuration.yml</code>. | ||
Line 72: | Line 63: | ||
# Submit a pull request to the main GitHub repository from your branch. | # Submit a pull request to the main GitHub repository from your branch. | ||
=== Hub/Nodes === | |||
# Prepare Jenkins for shutdown - this will allow all currently running jobs to finish, but will not start any new jobs. | # Prepare Jenkins for shutdown - this will allow all currently running jobs to finish, but will not start any new jobs. | ||
# Once no jobs are running, stop the Selenium Grid hub | # Once no jobs are running, stop the Selenium Grid hub | ||
Line 83: | Line 74: | ||
## Start the Selenium server | ## Start the Selenium server | ||
== Installing Firefox == | |||
* All new browsers should be installed with the version number in the path so that moz-grid-config can always find them. | * All new browsers should be installed with the version number in the path so that moz-grid-config can always find them. | ||
* Install [http://pypi.python.org/pypi/mozdownload mozdownload] and [http://pypi.python.org/pypi/mozinstall mozinstall] using pip to download and install the Firefox binaries. | * Install [http://pypi.python.org/pypi/mozdownload mozdownload] and [http://pypi.python.org/pypi/mozinstall mozinstall] using pip to download and install the Firefox binaries. | ||
Line 92: | Line 83: | ||
** Releases are also available to download manually [http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ here] | ** Releases are also available to download manually [http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ here] | ||
=== Mac OS X ==== | |||
From a terminal: | From a terminal: | ||
Line 100: | Line 91: | ||
rm /tmp/firefox-14.0.1.en-US.mac.dmg | rm /tmp/firefox-14.0.1.en-US.mac.dmg | ||
=== Windows === | |||
From a command prompt: | From a command prompt: | ||
Line 128: | Line 119: | ||
The output will display the FQDN of the computer. | The output will display the FQDN of the computer. | ||
== Updating | |||
== Updating == | |||
Before updating the Grid we need to test locally with the latest Firefox and Selenium versions. | Before updating the Grid we need to test locally with the latest Firefox and Selenium versions. | ||
# You will need to fork and clone from the [https://github.com/mozilla/moz-grid-config moz-grid-config github repository] and work on a new branch (latest-version) (see [[#Configuration|Configuration]]. | # You will need to fork and clone from the [https://github.com/mozilla/moz-grid-config moz-grid-config github repository] and work on a new branch (latest-version) (see [[#Configuration|Configuration]]. | ||
Line 137: | Line 129: | ||
# After changes are merged into the main GitHub repository, move the main Grid to run on "latest-version" branch. | # After changes are merged into the main GitHub repository, move the main Grid to run on "latest-version" branch. | ||
# Once testing on the main Grid instance is successful, merge the latest-version branch into master and switch back to the master branch on the hub and nodes. | # Once testing on the main Grid instance is successful, merge the latest-version branch into master and switch back to the master branch on the hub and nodes. | ||