Guest post by QualiTest Group
Appium is a free open-source test automation framework for mobile testing. It is a wrapper that translates Selenium commands into iOS and Android commands, so if you already know Selenium, you’re already partway there! And if you don’t already know Selenium, well, you really should learn it. But for now let’s focus on benefits of testing in Appium framework!
Appium framework can use any language that Selenium WebDriver supports (Java, Python, C#, Ruby, JavaScript, PHP, etc.) – there’s no need to worry about what the Appium Server supports. There are plenty of client libraries ready to assist you and tailored to each language. The Appium server communicates with a standardized JSON over HTTP protocol, so the server and devices and your test script (local machine) can be run on separate machines.
You can write your tests against iOS and Android platforms using the same API, enabling code reuse between test suites. But you still need separate iOS and Android scripts, because the UI elements are different on the two platforms.
Appium is free and open-source and easily downloaded from GitHub.
It is designed for mobile and only mobile – Selenium is not designed for mobile.
Appium likes automated testing, taking advantage of your developer skills.
This framework can automate native, web and hybrid mobile apps, and you can test on a real device, a simulator, or an emulator.
Your test script can use ANY LANGUAGE that Selenium supports (Java, Python, C#, Ruby, JavaScript, PHP, etc.).
An HTTP server waiting for commands and using standardized JSON manages the WebDriver sessions, so no worries about language or platform restrictions.
Test scripts created from Appium libraries are LIVE – you can instigate them locally, on a session reserved by the Cloud (say, through TestObject), for any iOS or Android device, for any version.
Appium drives GUI-related widgets and controls, allowing the same scripts to run for different software versions of various apps.
Appium integrates with continuous integration servers to ensure better results.
Appium supports Safari on iOS and Chrome or the built-in ‘Browser’ app on Android.
Appium’s personality is guided by some philosophical tenets:
You shouldn’t have to recompile your app or modify it in any way in order to automate it.
You shouldn’t be locked into a specific language or framework to write and run your tests.
A mobile automation framework shouldn’t reinvent the wheel regarding automation APIs.
A mobile automation framework should be open source, in spirit, in practice, and in name!