Today Automated tests are no longer an afterthought, they’re an integral part of the development lifecycle. In this session, we share what you need to do to ensure your Uno Platform applications can be ready from the get-go for both automated unit and UI tests.
As a very brief introduction, UI testing is made possible through something called Uno.UITests which is built specifically for Uno platform apps and the cornerstone of testing Uno platform applications. The first question that comes to our mind for automatic testing is why I should even bother to automate my Uno platform application tests? The truth is that tested applications not only ensure quality software is delivered to the customers, but it also reduces the time spent fixing obscure bugs. Additionally automatic tests help guarantee that your business logic produces the results you’re expecting and can enable you to catch difficult to reproduce issues and this is especially important to catch things that can break after new updates.
There are a lot of different kinds of automatic testing but for Uno applications we want to focus on a particular kind of automatic testing called UI testing that focuses on the visual aspects of your app as the name suggests. The idea behind it is to simulate user interaction with specific elements of your app and then assert any changes to the rest of the UI. UI testing can help you identify those bugs and bottlenecks but perhaps the most importantly, UI testing Uno platform apps ensures the consistency of the user experience across all platforms and device types.
In this demo Lester focuses on a simple Uno Platform application targeting Android that we’re going to use to test a single page in this application. We want to first make sure that our UIelements are properly identified and that we can leverage a base class that our tests can extend from. The next step is to design our tests, we want to make sure that our test classes are grouped into each individual unit of work. Using these steps, we’ll discuss the best way to ensure Uno application is testable from the start.
The code for this demo is available in Lester’s Github repository, which can be found here.