An introduction to Appium

We have already seen key challenges in testing mobile apps and a comparison of some open source mobile automation frameworks. RightQA uses Appium extensively to provide mobile test automation to its clients. So we thought of giving you a quick introduction to Appium.

There are 3 kinds of mobile applications
  1. Native apps: The apps that are written using the SDK provided iOS or Android. These are the apps you download from corresponding app stores (App store or Google play). 
  2. Web apps: Web apps are basically web applications that you access using your phone’s web browser (Safari, Chrome or phone’s built-in browser). The web pages/applications are optimized to work well on mobile devices
  3. Hybrid apps: As the name suggests, these apps are combinations of Native and web apps. Hybrid apps are basically a wrapper around the webview. Webview is a native control that allows interactions with web content.
So, what is Appium?
Appium is an open-source tool for automating native, hybrid and web apps on iOS and Android platforms.

One of the most important things about Appium is that it is cross-platform. What it means is you can write your tests for iOS and Android using the same API, thereby it allows you to reuse your tests!

Appium Philosophy.
  1. You shouldn't have to recompile your app or modify it in any way in order to automate it.
  2. Say if you have to modify your app to automate it, you are at risk. Because you tested one version of the app (modified one) and you are submitting another version to app stores. Appium allows you to test the same app (without any modifications) that you will be submitting to app stores.
  3. You shouldn't be locked into a specific language or framework to write and run your tests.
  4. If a tool limits you to write tests in a particular language then you might use it or NOT, based on many factors, including but not limited to language familiarity, developers support, online help etc. Appium gives the flexibility to write automated test in almost any language (Java, C#, Ruby, Python etc.)
  5. A mobile automation framework shouldn't reinvent the wheel when it comes to automation APIs.
  6. Selenium has become a standard for web automation. So if you are already familiar with Selenium, you know Appium :)
  7. A mobile automation framework should be open source, in spirit and practice as well as in name!
  8. This is pretty self-explanatory.
This was a quick introduction about Appium. In coming posts, we will be covering Appium in depth.

Share your thoughts about what you would like to see more and we will try to cover the topics in our posts.