Using Docker to build a testing infrastructure for web UI and mobile
Article Summary
LINE Engineering ditched expensive cloud testing services and built their own Docker-based infrastructure. The result? Flexible, cost-effective testing for both web and mobile.
Testing infrastructure can drain resources fast. LINE's engineering team shares how they leveraged Docker containers to create a scalable testing system that handles Selenium for web UI and Appium for mobile apps without the recurring costs of services like Sauce Labs.
Key Takeaways
- Three container types power the system: test runners, Selenium-Grid, and Appium servers
- Zalenium extends Selenium-Grid with dynamic node creation and built-in VNC recording
- USB port mounting enables direct ADB connectivity for real Android device testing
- Containers spin up on-demand then destroy themselves, maximizing resource efficiency
Docker containers provide isolated, reproducible testing environments that entire teams can access while eliminating vendor lock-in and recurring cloud service costs.
About This Article
LINE's engineering team needed to build and maintain their own test infrastructure. They had to handle Selenium for web UI testing across multiple browsers, plus Appium for native iOS and Android mobile apps.
They containerized their testing stack using Alpine-based test runner images and official Selenium Docker images for hub-and-node parallel execution. For mobile testing, they used appium/appium public images with USB port mounting to connect directly to devices via ADB.
The Docker approach let them create and destroy containers on demand, which meant isolated and reproducible testing environments that the whole team could access. They also cut out recurring cloud service costs and avoided being locked into a single vendor.