Shopify has developed systems to optimize the testing process for large codebases, focusing on improving the stability and reliability of end-to-end (E2E) mobile tests. Initial efforts involved intelligently selecting which tests to run to reduce CI time. This has evolved to building an opinionated wrapper around Appium and WebdriverIO for mobile E2E testing. The new framework enforces strict testing patterns through a builder-style API that requires assertions with every step, preventing flaky tests. It also incorporates computer vision for element identification, moving away from reliance on Test IDs, and provides a unified CLI for running tests across different environments. The goal is to achieve high test stability and enable faster, more confident shipping of mobile features.
All Shopify trails