In the past I was tasked with being the first person on a new project. This project was to implement an end to end UI automation testing framework for an anonymous company’s native iOS and Android apps.

The choice of tooling was Cucumber JVM using the Appium Java library underneath, and Gradle was the chosen build management system. (If you wish to know more details about this, we have an article detailing the setup and it can be found here)

At the start of the project I was also informed that once we had been able to source more people to join, we would need to be able to make the framework cater for local and cloud test runs. …


Some time ago we were tasked with implementing an end to end UI automation testing framework to be used for an anonymous company’s native iOS and Android apps. It was during this implementation that we found ourselves wondering how we could efficiently switch between devices, during our Appium Java test runs.

Those who are familiar with Appium know that in order to start a session you must provide Appium with some capabilities, (more information can be found here if you are unfamiliar with Appium capabilities) and more often than not you end up hard coding them into a class similar to the example…


Some time ago we were tasked with implementing an end to end UI automation testing framework to be used for an anonymous company’s native iOS and Android apps.

The choice of tooling was Cucumber JVM using the Appium Java library underneath, and Gradle was the chosen build management system. (If you wish to know more details about this, we have an article detailing the setup and it can be found here)

We were told that if we were using Appium then we must ensure that our framework could execute both iOS and Android tests. …


Some time ago we were tasked with implementing an end to end UI automation testing framework to be used for an anonymous company’s native iOS and Android apps. We did a PoC of tools in the market and after some time we settled upon using Appium.

The constraints which were put upon us was that we needed to:

Tony Skinner

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store