QA/Execution/Web Testing/Automation/Selenium Grid
Startup
Starting the Hub
- VNC into or use Screen, and go on qa-selenium.mv.mozilla.com,
- start a screen session -> screen -S selenium_grid_hub
- cd moz-grid-config
- start the hub -> ant launch-hub
Starting RCs
- VNC into or use Screen, and go to each individual RC node,
- start a screen session -> screen -S selenium_rc
- cd moz-grid-config
- start the RC -> ant launch-remote-control
Shutdown
- Use <control> c
Starting Jenkins
- VPN in via Mozilla-MV to http://qa-selenium.mv.mozilla.org:8080/, look for an existing Terminal/Console window with a Jenkins process -- if there's one there, you should just be able to cursor-up and type Enter/Return to launch
- We launch as follows: "java jar -Xms8g -Xmx8g -XX:MaxPermSize=512M jenkins.war" (without quotes, of course)
Upgrading
Upgrading Jenkins
- Load http://qa-selenium.mv.mozilla.com:8080/ (must be on VPN)
- Click on "Manage Jenkins" - http://qa-selenium.mv.mozilla.com:8080/manage
- Click on "Prepare for Shutdown" - http://qa-selenium.mv.mozilla.com:8080/quietDown
- VNC into qa-selenium.mv.mozilla.com and go to the Terminal window and CTRL+C (you'll see Java processes shutting down)
- Now, either arrow-up, or explicitly do java -jar jenkins.war -- this should restart Jenkins, and be it! It'll take some time for it to fully come back up, and for qatestbot to join #mozwebqa
Selenium Grid
Current nodes
- qa-selenium.mv.mozilla.com 10.250.48.239
- qa-selenium2.mv.mozilla.com 10.250.1.167
- qa-selenium3.mv.mozilla.com 10.250.1.196
- qa-selenium4.mv.mozilla.com 10.250.1.197
- qa-selenium5.mv.mozilla.com 10.250.1.222
Adding a new browser environment
- Add the browser, alias, and path to https://github.com/mozilla/moz-grid-config/blob/master/grid_configuration.yml
- Fork the repo, do a pull request, merge to master (<- please correct if wrong)
Moz-Grid-Config
- Git must be installed first
- moz-grid-config
Mac OS X-Hostname Setting (shamelessly copied, verbatim, from http://budporter.net/?p=47)
If you are running a version of OSX prior to 10.5, then look in “/etc/hostconfig” for the “HOSTNAME=” parameter and set it to be the FQDN (Fully Qualified Domain Name) that you want to use. So, for host “foo” located in the domain “bar.com”, the entry would be as follows:
HOSTNAME=foo.bar.com
For OSX 10.5, “/etc/hostconfig” is being deprecated. If you look in “/etc/hostconfig” on 10.5, you’ll see that “HOSTNAME” is no longer listed. There are a couple of preferred methods to do this in 10.5:
sudo hostname -s foo.bar.com
or
sudo scutil –set HostName foo.bar.com
You can verify the change by issuing the “hostname” command without any arguments. The output from the command will display the FQDN of your computer. The command “hostname -s” will display only the host name of your computer (minus the domain name).
Don’t let any of this confuse you with the Computer Name setting in “System Preferences–>Sharing” which really should be called “Bonjour Name”.
References
- Grid Admin Console
- Grid Hub Snapshot
- Github config snapshot