Version 26, last updated by Wendy Mason at December 12, 2011 UTC
Automated Workflow Tests
This page details a plan for automating FileSender workflow tests using Selenium. This will likely occur in two (probably overlapping) phases, drafted below. See Test Workflows for the basis of the tests, which are to be adapted to the 1.5 development codebase.
Phase 1: Selenium-IDE - in preparation for FileSender 1.5 release
Automate most GUI interaction outlined at Test Workflows for v1-1 using Selenium-IDE Firefox plugin, excluding authentication steps (i.e. logon, logoff, and activating download and voucher pages), clicking on "Add New Recipient" button, email content verification and interaction.- Add comments to the scripts as they are being created, copying and pasting (and updating as necessary) from Test Workflows for v1-1, for using with latest Firefox (HTML5) (and Firefox 3.6.x (Flash only) if possible, see #526) (Wendy) -- complete!
- Add links to scripts below as they are added to the repository (Wendy) -- complete!
- Replicate scripts where applicable for Flash only (Wendy) -- pending #526
- Update scripts when code ready to test (Wendy) (note #595)
- Update workflow descriptions at Test Workflows for v1-5, to allow manual replication where necessary. (Wendy)
- Manual testing of remaining steps (authentication, email content verification and interaction, downloads, resend email, delete file, delete voucher). (Wendy)
- May also need to manually repeat key tests on other OS and browser(s), including Flash-only browser versions (see #526).
- Test scripts in repository:
- authenticated and using a voucher:
- ASCII file upload, single recipient, default field contents, upload prompts
- ISO-8859-1 file upload, two recipients separated by comma, custom ISO-8859-1 field contents
- non-ISO-8859-1 UTF8 file upload, two recipients separated by semi-colon, custom non-ISO-8859-1 UTF8 field contents
- cancel and restart (Flash) or resume (HTML5) authenticated upload, single recipient, default field contents
- large file upload over 2 GB, single recipient, default field contents (HTML5 only)
- authenticated only (for adding recipients click on "Add New Recipient" button manually first):
- Issue vouchers, single and multiple recipients separated by colon / semicolon
- Add New Recipient, ASCII, single recipient, original field contents
- Add New Recipient, ISO-8859-1, two recipients separated by comma / semi-colon, custom field contents
- Add New Recipient, non-ISO-8859-1 UTF8, two recipients separated by comma / semi-colon, custom field contents
Phase 2: Selenium Server - post FileSender 1.5 release
- Set up VM running latest version of Selenium Server. (Guido & AARNet sysadmin) -- in progress!
- Determine most appropriate Selenium Client Driver to export tests in from Phase 1. For the project PHP would be appropriate, however Python or Java may be considered as alternatives. Code selection is dependent on which are supported by Selenium, as well as which browsers the code drivers support. (All core contributors to discuss)
- Install Selenium Client Driver determined above on VM running Selenium Server. (Guido & AARNet sysadmin)
- Set up VMs for each supported OS and browser version combination to be tested. (Guido & AARNet sysadmin) -- in progress!
- starting with Windows 7 with Internet Explorer 9 + Google Chrome + Firefox
- also see Browser-compatibility-matrix (under development)
- platforms supported by Selenium: http://seleniumhq.org/about/platforms.html
- need to also consider which browsers and versions are supported by the Selenium Client Driver we select (see above)
- Wikipedia page on Usage share of web browsers, including regional variations: http://en.wikipedia.org/wiki/Usage_share_of_web_browsers
- there is also a list of browser HTML5 readiness at: http://html5test.com/results.html
- FileSender test installation (on non-production machine), modified to export emails as files rather than sending them (??)
- Export Phase 1 tests in Selenium-IDE for code determined above. (Wendy / Chris / Maarten)
- Write additional code for verifying email content in saved files. (Chris / Maarten)
- Determine most appropriate method for automating authentication steps (logon, logoff, and activating download and voucher pages) and incorporate into tests. (Wendy, Xander, Chris, Maarten & AARNet sysadmin ?)
- Duplicate tests for other OS and browsers (??)
- Run all automated tests on all VMs and browser combinations (??)
