Mobile Test Automation using Appium

25th August 2016 |Model, Automation using appium, Technologies, Mobile, Automation

In today’s highly competitive market, it’s common to see many Android and iOS apps releasing to app store every week. To beat the competition, the time-to-market needs to be expedited. It creates immense pressure on both development and QA team to work together to condense the defect fixing cycle and quickly complete testing of the product in a trusted way. Automated testing helps to accomplish this.

Automated testing requires an initial effort to build the framework which subsequently will minimize the test execution effort and improves execution productivity. Nevertheless, the most important fact here is it removes the erroneous manual test execution effort spent on frequently executing the regression test suite.

Mobile Test Automation using Appium

The apps designed for Android and iOS are of 3 types Native, Webview and Hybrid. Selecting the right automation tool and framework to test all these types of applications is very challenging.

The key things to consider here are:

  • The automation tool need not be too expensive or preferably open source,
  • Availability of support team or active forum to address the software issues
  • Software should support multiple languages to develop the framework
  • Can be extensible to integrate database and web services,
  • Better integration with CI to run as nightly build, and
  • Better test execution reporting.

Considering all these, the most apt tool identified is Appium. It’s based on Selenium, the most popular open source web automation tool.

Appium is a completely Open-source test automation tool used to automate all type of apps on Android and iOS platform. It supports multiple languages binding like Java, Ruby, Python, PHP, JavaScript, and C# to name a few. It uses popular IDEs like Eclipse or IntelliJ for scripting the test cases and interprets application events by acting as an interface between IDE and the Emulator. Technically, Appium is an HTTP server designed to handle WebDriver sessions.

The mobile automation framework using Appium is entirely driven by Selenium and test runner like TestNG. The 3rd party reporting API ExtentReports is used to improve the report presentation. The framework adopts the modular and data-driven concepts. The entire automation suite is stored in Git and uses Ant build tool to build and run the tests on physical devices or emulators. This is integrated with Jenkins and the test execution process starts once the Android and iOS client builds are completed. At the end, it sends the test results report and logs to all the stake holders. Here are the sample test reports.


Connect with Accion Labs!