This is how we work - efficient QA processes for digital excellence Learn more
Read time: ca. 8 min

Test automation on real devices with Appium

Dominik

Virtual testing can anticipate a large number of manual applications and is particularly suitable for regression testing. The possibilities of these tests are limited, however, as they often only insufficiently map end devices, their use and functions. The test automation tool Appium goes beyond these limitations.

With Selenium, the first open source framework for automated software testing appeared 15 years ago, making it possible to test web applications on different browsers, operating systems and devices. Later, the mobile and permanent presence of information on smartphones posed completely new challenges for testing.

 

The limits of automated testing

Virtual testing allows a large number of different devices and operating systems to be simulated. However, the never-ending flood of different form factors and screen sizes as well as the great fragmentation of Android operating systems make it difficult to test apps and their user interface for usability. The connectivity of end devices and their performance can only be approximated. Experience shows that in practice, Bluetooth, WLAN, GPS and other connections cannot always guarantee the expected performance on real end devices, depending on the manufacturer and device version. In addition, you only know how a device will accept the application when you install it: This is about the performance of the processor, use of RAM and energy consumption.

 

Testing with Appium

Appium is a tool that is fundamentally based on the Selenium WebDriver framework, but enables all three types of mobile apps to be tested: native, web-based and hybrid apps. It executes a test script on an end device and simultaneously provides the desired emulation for the operating system. Appium's core is the API, which makes code available for both iOS and Android - cross-platform is the philosophy here.

In the latest version of Appium, the so-called UI Automator has been integrated: With it, all manual functions of native Android apps can be automated. Appium also supports Apple's XCUITest framework. What is special about this is that various manual touchscreen interactions can thus be mapped on the desired end device

 

Testing on real devices: The advantages

At Appmatics, we use Appium to run tests for mobile apps on real devices from our hardware pool. This offers us several advantages:

  • Real display size: The test script simulates the usage tests under the specifications of the real display dimensions and thus identifies errors that might not be mapped with a pure emulation of the device.
  • Real functionality: Only certain factors can be mapped in virtual software tests, the real connectivity and performance of the device remains an unknown variable. Appium makes it possible to actually use many hardware functions, such as the device's WLAN.
  • Regression tests: It is still possible to simulate thousands of runs of an app test in order to check the stability and error-proneness of the code - but in a device-specific way, so that here, too, better mappability of usage scenarios is ensured.

In summary, the simulation of tests on real end devices offers a better approximation to the real real-time operation of the apps. Appium is the framework that enables the implementation of emulators and test scripts on the end device. Despite these advantages, it is always worthwhile to conduct manual app tests with real testers: This is the only way to find test scenarios that cannot yet be mapped by automated tests and thus find new use cases that can later be repeated and tested thousands of times on real devices through test automation.