Android UI testing is far from intuitive and there is a lot to learn about it. We made a promise to document and share the knowledge we accumulated over the last years.
Easiest test automation solution around?
Free for download ☞ HERE ☜
To answer the question precisely, we need to take a look at how software is tested nowadays. It is usually done on different levels.
Software test automation is the process of using specific tools to control and automate the execution of test cases. Actual execution results are automatically compared to expected results. This saves time and therefore money.
Robotium and Espresso both use Android Instrumentation to inspect and interact with the Android apps under test.
The Robotium community made a sophisticated effort to create an Android test automation framework that has full support for native and hybrid applications. It makes it easy to write automatic black-box UI tests for Android applications. With the support of Robotium, test case developers can write function, system, and user acceptance test scenarios, spanning multiple Android activities.
However, there are some things to keep in mind if you decide on one or the other.
There are still a lot of unsolved challenges when implementing mobile test automation. This article takes a closer look at the reasons and mentions helpful strategies and tools.
Here are 3 main test automation pain points:
TDD and BDD are two types of software development practices. TDD stands for test-driven development, while BDD is a short form of behavioral-driven development. The names of both sound similar, but of course, they are not! Please do not get them confused.
A brief explanation of TDD: we specify what a program should do by writing code that can directly be executed; On the other hand, in BDD, we define the behavior for a program with natural language. These behaviors can not be directly be executed.
Before discussing the differences between these two in detail, let’s first explore what TDD and BDD are precise.
Ever wondered how to make debugging of tests easier by taking a screenshot right when a test fails? This is what the JUnit TestWatcher can be used for.
What’s new in the domain of test automation frameworks?
Top on the list of the most used testing tools for Android is still Espresso, so I’ll give a brief overview of developments, but then also introduce some new test automation frameworks.
Now, 2 years later, I am dealing with the least favourite topic of software development almost full time. Why? Because I decided to write my own Android testing tool.
Continue reading Why I Chose to Write my Own Android UI testing tool
Writing UI tests on Flutter is not that different from other mobile technologies. We basically need to interact with our app as any other user would do and double check that our UI looks exactly as it should look.
In order to allow us to write UI, each technology has its own component that allows this programmatic interaction. In the Flutter case we have the flutter_driver package which, according to the Flutter documentation “provides tools to create instrumented apps and drive those apps from a test suite”.
Our example will be based on the test project created by default whenever we create a new Flutter project. For those not familiar with the project, it basically shows a counter text in the middle of the screen and a floating action button used to increment the counter. Our goal is to write a simple flutter UI test to verify the counter works as expected.
Choosing the right Android UI Testing tool can be a challenge. There is not a single best UI test automation tool for each case. What “the best” automation tool is depends clearly on your requirements.
There are a lot of parameters you should consider when it comes to UI testing.