Android UI Testing with Firebase
Article Summary
Turo's Android team hit a wall: their single-device test setup couldn't keep up with their growing UI test suite. Hours of wait time for a single test run wasn't going to cut it.
Chris Kudlack from Turo Engineering shares how they scaled their Android UI testing infrastructure by migrating from a local single-machine setup to Firebase Test Lab. The team had to figure out the TeamCity integration on their own since no documentation existed.
Key Takeaways
- Moved from sequential single-device testing to 35 parallel machines
- Custom bash script connects Firebase Test Lab with TeamCity CI servers
- Full device logs and video recordings cut debugging time dramatically
- Tests now run on multiple devices, OS versions, and orientations simultaneously
- Wait times dropped from hours to minutes with parallel execution
By migrating to Firebase Test Lab with custom TeamCity integration, Turo transformed their Android testing from a sequential bottleneck into a parallelized system running on 35 machines simultaneously.
About This Article
Turo's Android team had no documentation on how to integrate Firebase Test Lab with TeamCity. They ended up spending time manually digging through Google Cloud documentation to figure it out.
Chris Kudlack's team wrote a bash script that automatically set up Firebase on TeamCity machines. This let them upload APKs and run tests across multiple devices and OS versions without manual steps.
With the gcloud command-line tool, they could customize tests by device type, orientation, and OS version like versions 19 and 23 or specific device models. This gave them much better control over their testing and broader coverage.