
Maestro 多语言测试 3 步上手一条命令切换模拟器语言YAML 逐语言验证文案【免费下载链接】MaestroPainless E2E Automation for Mobile and Web项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro德语版日期还显示成英文格式、日语按钮文案被截断——这类本地化问题往往要到发布后才被用户发现。Maestro 多语言测试的思路很直接用--device-locale参数让模拟器直接以目标语言启动再配合 YAML 流程逐语言断言界面文案不用手动进系统设置一级一级切换语言。审核被拒往往败在换个语言就露馅本地化问题集中在三类细节文案没翻译、格式没适配日期、货币、数字千分位、长文本把布局撑爆。手动回归时最容易漏的就是格式类问题因为一眼看上去能看但德语、日语的长度差异会让按钮换行、让时间戳串位。把切换语言 检查文案交给脚本回归成本就从每台设备点一遍设置降到多跑一条命令。Maestro 的设备启动命令原生支持 locale 参数三个平台都能用。5 分钟跑通一条命令启动德语模拟器 前提是系统装了 Maestro CLI一行安装脚本即可要求 Java 17并且连着一个可用设备或允许新建模拟器。核心就两条命令maestro start-device --device-locale de_DE maestro test flows/notes_de.yaml--device-locale接收小写语言码 下划线 大写国家码的组合de_DE即德国德语。iOS 模拟器同理把平台参数改成 ios 即可Web 端也走同一套 locale 校验逻辑。这个参数在 CLI 侧的定义可以看maestro-cli/src/main/java/maestro/cli/command/StartDeviceCommand.kt它对已连接设备先做快照确保 locale 只应用到新建的设备上避免误改旁边正跑着的真机。把断言写进 YAML逐语言验证界面文案流程文件本身不感知语言感知语言的是里面断言的文本。同一套交互步骤每个目标语言写一份断言文案换成对应翻译即可appId: com.example.notesapp --- - launchApp - tapOn: Neue Notiz - inputText: Wochenende - assertVisible: Gespeichert同一批流程按语言批量执行语言矩阵不用在 YAML 里做循环直接让 CI 按文件分发maestro test flows/notes_de.yaml maestro test flows/notes_ja.yaml maestro test flows/notes_en.yaml每个文件对应一种语言的环境配合不同--device-locale启动设备跑失败的用例会留下截图方便定位是哪句文案出问题。公共路径写成语言无关断言把登录、注册这种所有语言共用的骨架流程写成一份尽量用 id、图标或行为断言点击后是否跳转替代纯文本匹配只有语言敏感的页面设置页、错误提示页才单独分语言写。这样语言矩阵膨胀时维护成本只涨敏感页面那部分。避坑清单locale 格式、大小写与设备残留 ⚠️写对格式语言码必须小写、国家码必须大写中间用下划线de_DE正确DE_de会被校验拒绝。组合必须存在en_CN这类语言-国家组合不在支持列表内CLI 会直接报错并附上完整的可用组合清单照着列表填即可不用猜。校验逻辑在maestro-client/src/main/java/maestro/device/locale/下Android、iOS、Web 各自一份定义。分清系统语言和应用内语言--device-locale改的是系统 locale应用跟随系统语言时才生效如果应用自带语言切换器流程里还要加一步切应用内语言再断言。物理设备手动设 locale该参数作用于 Maestro 新建的模拟器/云设备真机上要先在系统设置里把语言调好再跑流程。别用文本断言做通用回归同一元素不同语言的字符串不同公共流程断言文案等于给每个语言都埋了维护点。一个参数解决环境准备一份 YAML 沉淀成可复跑的回归资产再进 CI 就是每次发版前的固定动作——本地化验证从此不用再靠人肉点设置。【免费下载链接】MaestroPainless E2E Automation for Mobile and Web项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考