I’ll briefly outline the main points, for future reference.
- Almost as easy to test web apps with Sauce / Selenium as it is to test websites
- Automated Testing – can be run every time you check in code for example, also when you refactor code in your library or when you need to regression test
Functional Testing with Selenium
- Closely analogous to manual QA
- Likened it to a robot-controlled browser
- Selenium controls a real web browser with real web interactions
- Good at showing up cross-browser issues
- Available as a library in most languages
Writing Selenium Scripts
- Selenium RC – is the original version
- Now superseded by Selenium WebDriver
- WebDriver recommended to use for any new work
- Much faster than RC
- WebDriver is client-server architecture
Script, Selenium Web server, Browser Combination
The item to the left in the above screenshot represents a script (in Python, PHP etc) and this interacts with the Selenium Web server, shown in the middle, which in turn interacts with the browser (Chrome, IE, Safari, Firefox etc)
Running Tests on Sauce Labs Platforms
If using Sauce Labs as the test platform, the model now changes. The script (in Python, PHP etc) now interacts directly with Sauce Labs cloud, using Sauce Connect, which allows Sauce Labs cloud to connect to your local host development machine (which is normally detached from the outside world)
Specific Mobile Issues with Selenium
- Different screen real estate (and different on iPhone and Android and tablets etc)
- Different devices have different ways of handling text (so your tests have to cope with this – eg iOS capitalises first character in text input)
- Objects not visible when you expect them to be
- Advised to do some manual testing when writing automated tests, so you can see how it looks on device
Selenium and Hybrid Apps and Native Apps
- Selenium currently can be used to test websites and mobile web apps
- Selenium does not currently work with Hybrid Apps (web apps wrapped inside a native app) or Native Apps.
- They are hoping to soon be able to test Hybrid Apps and Native Apps from Selenium.
Final Thoughts on Sauce Labs and Selenium
- Sauce Labs currently use Emulators but plan to use real devices in the future
- Mobile Test Automation is quite a new area – but gaining in momentum
- Mobile Test Summit is on 1 November 2012, in San Francisco – where lots of like-minded people will gather together and discuss/debate to push mobile testing forward – especially in area of testing native apps with Selenium.