Targeting both mobile devices and desktop browsers has become a necessity for successful tech applications. Whether an existing web application triggers the development of native apps or a desktop version is introduced to supplement the smartphone experience, supporting both worlds is a reality for a majority of businesses.
To maximise user experience, an application should behave as identical as possible across all platforms. However, more often than not versions for different platforms are built by different teams with different designers, possibly across multiple sites (even countries, continents, timezones) each with their own tech-stack and development process. In such a set-up, using different tools for automated testing could come naturally and add to the challenges of building a single product.
We argue that a common approach to test automation is critical. Not only will it save time and development costs, it can also increase communication and improve collaboration between teams and be a great facilitator for setting the focus on the product as a whole rather than separate deliverables for each platform. In this sense, it can serve as an umbrella across all involved teams.
We will demonstrate a simple JAVA-based solution using Selenium, Appium and Cucumber to combine testing for different platforms (namely Android, iOS and Web) within the same framework. We will talk about best practices in designing an extendable and easy-to-use test framework and how we can facilitate cloud-based services to integrate our tests into a CI pipeline.