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.
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:
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. In the end, it sends the test results report and logs to all the stakeholders. Here are the sample test reports.