Extreme Mobile Testing with Selenium (and Robots)
Can your robot play Angry Birds? On an iPhone? Mine can. It's called "BitbeamBot". It started as an art project, but it has a much more serious practical application: mobile web testing. To trust that your mobile app truly works, you need an end-to-end test on the actual device. BitbeamBot is an Arduino-powered open source hardware CNC robot that can test any application on any mobile device. You can control it through the Selenium test automation API.
(Watch the video of BitbeamBot playing Angry Birds.)
An end-to-end test on an actual mobile device means the full combination of device manufacturer, operating system, data network, and application. And since mobile devices were meant to be handled with the human hand, you'll also want something like a real hand to do real end-to-end testing. After lots of repetitive manual testing, the inevitable questions is asked "Can we automate the testing of the old features, so I can focus the manual testing effort on the new features?"
That's where the BitbeamBot comes in. BitbeamBot can touch the screen of a mobile device just like a user would. From a developer's perspective, it can use the Selenium automation API to work its magic. In the future your testing will be automated... with robots.
This talk will cover the background of BitbeamBot, and how it's built. It will also a be a primer on Selenium 2 and how Selenium 2 works under the hood. This talk will show developers how to use Selenium to test mobile applications in 3 different ways 1) via device simulators, 2) via tethered devices and debugging API, and 3) with the BitbeamBot mobile testing platform.