Mobile Automation Testing – Appium

Appium is an open-source tool for mobile automation testing. Appium is used to automate native, hybrid and mobile web applications on iOS mobile, Android mobile and Windows platforms. Appium is cross-platform, it allows us to write test scripts using the same API and ensures code reusability across the supporting platforms.

Appium supports many languages which include Java, Ruby, Python, PHP, JavaScript, Objective-C, C#. Popular IDEs like Eclipse and IntelliJ support Appium test scripts and interprets the application events by acting as an interface between IDE and the Emulator. Appium is an HTTP Server written on the NodeJS platform, designed to handle WebDriver sessions. It works on the Selenium Web Driver API that specifies a client-server protocol called JSON Wire Protocol.

Appium Server

Appium uses vendor-provided automation frameworks under the hood,

  • Apple
    • XCUITest (iOS 9.3 and above)
  • Google
    • UiAutomator / UiAutomator2 (Android 4.2 and above)
  • Windows
    • Microsoft’s WinAppDriver

Advantages of Appium

  • Appium doesn’t require any Source code changes to run the test scripts.
  • Multi-language support for writing test scripts like PHP, Python, Java, etc.
  • Appium is precise as we test a production version of the app, there is no recompilation involved during runtime.
  • Appium produces reliable test results and reduces testing time. It supports simultaneous testing on real devices, emulators and simulators.
  • Appium executes the same test scripts across mobile platforms without any added effort, except for minor configuration changes for respective platforms.
  • Appium supports Inspector to accelerate testing efforts through record and playback functionality.
  • Appium is a versatile tool and has a large support community, making it a stronger choice for mobile automation.

Limitations of Appium

  • Appium doesn’t perform testing on mobile devices that run on lower versions of Android (below 4.2).
  • Performance is comparatively less when performing hybrid app testing; Whereas it performs well on native app testing.
  • Unlike other mobile automation testing tools, Appium lacks the capability to locate images automatically.
  • Appium in its current capability, cannot implement some of the commonly used gestures like double-clicking in Java-client libraries.
  • Appium lacks the option to run Appium Inspector on Windows.

Please reach us out to learn more about mobile automation framework and Appium for your mobile test automation needs.

Reference(s)

  1. http://appium.io
  2. http://appium.io/tutorial.html
  3. https://github.com/appium/appium