Testing the Mobile (and Desktop) Web with Selenium 2.0 - Better, Faster, and more Pythonicly
Presented by Jason Huggins
Selenium is a popular web application testing tool for acceptance testing dynamic web applications. Selenium 2.0 has a different architecture that makes it leaner, meaner, and more pythonic -- for testing desktop and mobile web (iPhone/Android) apps. This talk will go into detail on how Selenium 2 works. If you like testing and Python, you'll enjoy what's cooking in Selenium 2.
Despite it's widespread industry adoption, the Selenium project is far from done. Selenium's goal is to drive any browser the same way an end user would (e.g. opening pages, clicking buttons, entering text, etc.) with any programming language on any OS platform. It's an ambitious goal, and with a steady stream of new browsers (Chrome), new platforms (Android, iPhone), and new HTML5 technologies (video, canvas, offline storage) to support, just keeping up is an arduous task.
This talk will go into detail explaining how Selenium and WebDriver (aka Selenium 2) work, comparing the strengths and weaknesses of each tool's approach to browser automation. The talk will then explain what Selenium 2.0 looks like and how to use it.
- Description of problem space
- More browsers
- More frequent browser releases
- HTML 5 - video, canvas, offline storage
- The web in more places - Mobile, Chrome OS
- Description of Selenium
- Strengths of Selenium
- Description of challenges for Selenium 1
- Same origin policy / cross-site scripting
- OS-level popups
- Speed / stability
- Java as the cross-language integration point (aka Not Very Pythonic, eh?)
- Description of Selenium 2 (aka WebDriver)
- Strengths of Selenium 2
- How Selenium 2 is more pythonic
- (Lots and lots of example code goes here.)
- Spoiler Alert: No Java server required!
- How to test Android apps
- How to test iPhone apps
- Selenium development roadmap