I want all unit and instrument tests (Espresso) to run after each commit / merge in the main develop branch. Single tests are fast enough to allow this, but UI tests are not - 150 completely mocking UI tests take ~ 1 hour to run on a single device. Shazam FORK library does an excellent job with this 150 tests on all connected devices. The current solution is the local machine running Jenkins. Connecting 4 devices to it reduces the time to run UI tests to ~ 15 minutes. It is not perfect, but bearable.
Ideally, I would like to find a cloud-based CI system that allows me to run UI tests with Fork , so local Jenkins can be dropped and not supported internally.
I tried AWS Device Farm and Firebase Test Lab , but both use their own systems to run the tests. It seems that they do not give the opportunity to outline a single set of tests on multiple devices. They seem like great tools to run the entire test suite on different devices at the same time, but thatβs not what I want for the CI solution (split the test suite into multiple devices at the same time).
I tried BuddyBuild , but internally they used the Firebase Test Lab, so that didn't help for my case either.
I mostly thought about solutions in these areas:
- find a way to run
Fork in a cloud solution - find another way to outline one set of tests on multiple devices
Any suggestions are welcome! How do you solve this problem?
Vesko source share