mozilla selenium and_hudson
TRANSCRIPT
Raymond EtornamMozilla Corporation
05-19-2010
Mozilla, Selenium and Hudson CI:A Big, Open-Source Happy Family
• Where we were
• Where we are
• Where we want to be
• Mozilla.com: http://www.mozilla.com
• AMO: http://addons.mozilla.org
• SUMO: http://support.mozilla.com
We use Selenium on:
Where we were •Browsers our projects currently support are:oFirefox 3.6.x, Firefox 3.5.x, Firefox 3.0.xoInternet Explorer 6 to 8oOpera 9 and 10.xoChrome 4 & 5 (Beta for Mac)
•Manually testing web pages across browsers and operating systems is a very hard, time-consuming task
Selenium IDE
•Works only on Firefox
•Works best if you have a small amount of tests
•Though faster than manual testing, it is not as fast as using Selenium RC client driver
•results.html is good, but limited
We needed change
This brings us to where we are
Selenium Grid + Hudson
Our setup •Two Mac Minis running Windows XP, Vista, and Ubuntu VMs
• We have the following remote controls running:oChromeoFirefox 3.6oFirefox 3.5oSafarioIE 7 and IE 8
• Tests are written in Python • Hudson polls our SVN
repository every 5 minutes• Runs tests once there has
been a check-in
Current setup for addons.mozilla.org(evolving):
•TCParams.pyoall sorts of config options for AMOlocators.py
•AMOlocators.pyoXPath locators
•AMOfunctions.pyoshared functions
•AMO_smoke_test_suite.pyolist of smoketests w/params
T A couple huge problems:
•Staging sites (like ours!) that use self-signed certificates are hard to automate across browsers with Selenium•Browser session problems
Lessons learned:
•Write reusable code/classes•Run tests as often as you can•Proper use of XPath and CSS selectors make Selenium testing easier
Where we want to be
•Extend this model of testing to all web projects
•Encourage contributors
•Have greater coverage for our Selenium integration tests
\
Demo / questions
\ Interested in Helping?
•WebQA homepage:•http://wiki.mozilla.org/QA/Execution/Web_Testing
•Contribute page:•https://wiki.mozilla.org/QA/Execution/Web_Testing/Contribute
•SVN Repository:•http://viewvc.svn.mozilla.org/vc/addons/trunk/site/app/tests/selenium/pythonTests
•Real-time contact:•irc.mozilla.org in #mozwebqa
Thank you!