Repeato is a mobile test automation tool which works based on computer vision and machine learning. This way the tester does not need to care about the underlying architecture of the app (IDs, layout structure) which simplifies the creation of tests.
Instead of writing code, tests can be recorded via a test recorder. For each click interaction, a visual fingerprint is generated which allows the test runner to find the UI element later on.
For each test run, a report can be generated which shows a visual step-by-step representation of the automated UI interactions.
Repeato has a new approach to mobile UI testing and works fundamentally different then other UI testing frameworks:
Repeato operates fully on pixel data and does not care about the underlying structure of the UI. It basically sees what a tester would see by utilizing computer vision (openCV, tesseract) and machine learning (tensorflow).
Asserts are created by defining pixel regions, which can later be found again by the computer vision algorithm. Even when your design or device aspect rations change slightly.
Yes it is.
What is wrong with using espresso for testing? Not much. There is one big issue though: It's very time consuming to create tests: finding the right view ID, mocking classes, creating idling resources or finding the right delays for you next step.
Espresso need to have a sophisticated understanding of how the UI is structured. In order to create asserts and click views, espresso as well as most other testing frameworks needs a unique reference to the respective view in the view hierarchy (layout). Usually a manually set ID or the "layout path" is used as a unique reference and the developers needs to reference that ID when they write test automation code.
This approach comes with a lot of complexity which needs to be handled by the developer:
Gherkin with Appium is not a bad idea. Especially if you want to tests on hundreds of different devices in parallel. It’s open source and there is tons of documentation out there.
However, the problem with traditional test automation is the complexity in terms of setup and communication:
The testers need the app to be built in a way that they can access the UI elements. Most often IDs are used for that. So before they can even start to automate things, the developer team needs to do a lot of work:
To sum it up: Gherkin with Appium makes the QA team dependent on the developer team and puts even more responsibilities on them. And it takes a lot of communication between the teams. We have seen companies postpone their plans to introduce test automation because of that for years (not kidding).
So we suggest: Use both things in parallel. You will need lots of time to get a proper Appium automation working. But it might pay off in the long run!
Additionally use Repeato because some of the things you can do with it are not even possible with Appium (like checking content in native views like maps, generating batch run reports or pixel perfect assertions).
Yes you can. Repeato will run headless as a node.js application on pretty much every system.
Only customers local devices. Emulators work too.
Yes, with Repeato you can also use emulators or simulators instead of physical devices.
Unfortunately not yet. We are working on it though.
Yes, you can edit test steps easily.
Yes, e.g. for registering new accounts you can generate random usernames or email addresses.
Yes, you can.
Repeato allows you to create workspaces. Each workspace can live in its own directory which can be easily checked into a repository (either git or some other versioning software). You can find more on the subject here.
Got more questions?