QA/Tools/Selenium/AMO Automation
From MozillaWiki
< QA
Selenium IDE/RC and AMO, or: How I Learned to Stop Worrying and Love Automation
Questions? Feedback/suggestions? Email stephend@mozilla.com
How to record and play back Selenium IDE scripts
- Record the script(s) with Selenium IDE
- Be sure to record relative, not absolute paths (i.e. /en-US/firefox/some/AMO/url/, rather than https://preview.addons.mozilla.org/en-US/firefox/some/AMO/url)
- When finished, File | Save Test Case As..., and be sure it has a .HTML extension
- Be sure to record relative, not absolute paths (i.e. /en-US/firefox/some/AMO/url/, rather than https://preview.addons.mozilla.org/en-US/firefox/some/AMO/url)
- Download and unpack Selenium RC -- literally just extract the contents into their own new folder
- In the root of your Selenium RC folder, create a folder called |htmlSuite|
- Drop your |testcase.html| file(s) into the |htmlSuite| directory
- In |htmlSuite|, create an HTML file called |testSuite.html|, following the markup in http://wiki.openqa.org/display/SIDE/Automating+Selenium+IDE+tests
- Change the |href=| filename attributes to match each of your testcase's filename
- From the command line, CD into the selenium-server folder (something like ~/Desktop/selenium-remote-control-1.0-SNAPSHOT/selenium-server-1.0-SNAPSHOT), and issue:
- java -jar selenium-server.jar -htmlSuite "*chrome" "https://preview.addons.mozilla.org" [1 -- just a footnote, don't enter me!] "/Users/stephend/Desktop/selenium-remote-control-1.0-SNAPSHOT/htmlSuite/testSuite.html" "/Users/stephend/Desktop/results.html" (substituting, of course, the folder name of your RC version and path/to/tests and path/to/results.html)
- If all goes, well, your first testcase will begin running; when it's finished, it'll run the next testcase, and once that's completed, it'll quit Firefox and write out |results.html| -- sample results.html
[1] This is the base URL, and what your test scripts will key off of
Testcases I'm working on
Sounds great and all, but what does this do for / how does this help AMO?
Pros:
- The idea is not to regress critical things like search, other functionality/page views
- Should let us focus on verifying new functionality works as expected
- Rapid turnaround on automating user actions
Cons:
- Not a substitute for a unit test
- Can't really test layout well
- Want to use the |pause| command? Too bad; it apparently doesn't work :-(