What is your experience with Appium?

Test automation on real devices with Appium

Virtual tests can anticipate a variety of manual applications and are particularly suitable for regression tests. The possibilities of these tests are limited, however, as they often do not adequately map end devices, their use and functions. The test automation tool Appium goes beyond these limitations.

15 years ago, Selenium was the first open source framework for automated software tests that made it possible to test web applications on different browsers, operating systems and devices. Later on, that of the smartphones posed completely new challenges for tests due to the mobile and permanent availability of information.

The limits of automated testing

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

Testing with Appium

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

The so-called UI Automator has been integrated in the latest version of Appium: This allows all manual functions of native Android apps to be automated. Apple's XCUITest Framework is also supported by Appium. The special thing about it is that various manual touchscreen interactions can be displayed on the desired device.

Testing on Real Devices: The Benefits

At Appmatics, we use Appium to carry out tests for mobile apps on real devices in our hardware pool. This offers us various advantages:

  • Real display size: The test script simulates the usage tests under the specifications of the real display dimensions and thus identifies errors that could 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 susceptibility to errors of the code - however, device-specific, so that a better mapping of usage scenarios is again guaranteed.

In summary, the simulation of tests on real end devices offers a better approximation of 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 carry out 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 are later revealed by test automation real devices are repeated and tested thousands of times.