QA/Tools/Selenium/AMO Automation

From MozillaWiki
< QA
Jump to: navigation, search

Selenium IDE/RC and AMO, or: How I Learned to Stop Worrying and Love Automation

Questions? Feedback/suggestions? Email stephend@mozilla.com

Contents

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

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

Search
General

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 :-(