Glean 拾遗
最近收录

1 条 · 按时间

08-26

用视觉定位替换 Test ID:Shopify 将移动 E2E 稳定性拉到 98%

Shopify 最大的移动应用曾因 E2E 测试大面积 flaky 而被迫将测试从 PR 阻塞中移除。团队在旧 Appium 栈上看到问题不在测试代码而在框架本身:Test ID 查找元素允许在界面未渲染时就点击,pause(1000) 之类的捷径层层积累。他们放弃修补 Appium,改为在其上封装一个强约束框架:builder API 强制每个操作附带断言,操作词汇表刻意收窄,逃逸口统一命名为 UNSAFE_;识别层改用计算机视觉,通过 PaddleOCR 识别文本、OpenCV 对灰度多尺寸匹配 Polaris 图标,重复元素用相邻关系消歧,Test ID 被降级为需显式选择的 fallback。每轮运行生成带标注的视频,失败可自诊。迁移后测试稳定性从 50% 升至 98%,剩余失败多为网络与模拟器启动问题。文章还给出普适建议:将 API 收窄到几个核心命令、每个动作强制断言且验证断言的前后状态、合并前先跑多轮稳定性门槛。适合受 flaky E2E 困扰的移动端、QA 基础设施与测试工具链工程师。

shopify.engineering · 8 min · Appium · Computer Vision · Mobile E2E