Appium - Automate Mobile Apps
Here is an interesting prolouge about Appium:
The most significant change in software testing over the past decade has been the proliferation of automated testing. In the past, website testing was costly and time-consuming, involved large QA teams and numerous test passes. Enter Automation, which reduced test time by allowing developers to automate test cases and run them on demand. This frequent and immediate feedback enabled developers to write better code and freed up QA engineers to test with more freedom.
The arrival of mobile took us back to square one. Years later, the first mobile automation tools were released but had major drawbacks. They required app modification to support testing, often by em-bedding an HTTP server in the app. Most only supported coding in their APIs, which rarely supported multiple languages. They also often required hacks not supported by mobile OS manufacturers.
iOS testing presents a challenge that harkens back to the days when software was released on CD, where one mistake meant expensive reprinting of physical media. Similarly, a mistake in an iOS re-lease will take days to correct. If a crash occurs, once you identify and fix it, a multi-day app-store approval process is then required. Appium (http://appium.io) was developed at Zoosk in 2011 when we were looking to reduce the cost iOS app testing. Four principles guide Appium development:
1. Test the same app you put in the marketplace
2. Write tests in the language you want to
3. Use a standard automation specification
4. Keep it open-source and free
Appium is an implementation of the Selenium-WebDriver Protocol (the most popular web automation toolset) that supports Android and iOS apps on devices and simulators. Coding an Appium test is identical to coding a Selenium test. You don’t have to modify your app and can use a protocol that is a (pending) W3C standard. Selenium has bindings in a dozen or so languages, so you can even use the language of your choice. Under the hood, it uses sanctioned automation APIs, UIAutomation for iOS and UIAutomation and Instrumentation for Android. And of course, it’s open source.
The future is here! Mobile automation is now as easy as web automation. If you know Selenium, you
know Appium. Your QA teams can blister their fingers playing guitar instead of by running 3 straight days of iPad test passes. You can submit apps to the app-store faster and with more confidence..