如何从CI(Jenkins)或命令行向Firebase Test Lab提供Robo脚本?
如何在Firebase Test Lab结合Jenkins时指定自定义Robo脚本路径
我之前也碰到过一模一样的需求——想用自定义Robo脚本替代简单的Robo指令来精细控制登录流程,下面是亲测有效的配置方案:
1. 先确认脚本格式是否正确
你在Android Studio里录制导出的Robo脚本,必须是**.json格式**(Android Studio导出时会自动生成这个格式),脚本里要包含你录制的所有操作步骤,比如定位输入框、输入账号密码、点击登录按钮等逻辑。
2. 在Jenkins的YAML配置中添加脚本路径
你之前用YAML配置Firebase Test Lab参数,现在只需要在testTargets的ROBO配置里新增roboScript字段,指定脚本路径即可,分两种情况:
情况一:脚本存放在Jenkins服务器本地
如果脚本已经放在Jenkins的工作目录下(比如和待测试的APK同目录),直接写相对路径就行:
testTargets: - type: ROBO roboScript: ./your-folder/custom-robo-script.json
情况二:脚本存放在Google Cloud Storage(GCS)
如果脚本存在GCS桶里,需要填写完整的GCS路径,同时要确保Firebase Test Lab有访问该桶的权限:
testTargets: - type: ROBO roboScript: gs://your-bucket-name/script-path/custom-robo-script.json
3. 补全必要的权限配置
- 若用本地脚本:确保Jenkins的运行用户有读取该脚本文件的权限,避免构建时出现权限拒绝的错误。
- 若用GCS脚本:给Jenkins使用的服务账号添加
storage.objectViewer权限,让它能正常读取GCS里的脚本文件。
4. 验证配置是否生效
提交Jenkins构建后,去Firebase Test Lab的测试详情页查看,就能看到Robo测试是基于你的自定义脚本运行的,而不是默认的探索模式。如果测试失败,优先检查脚本路径是否正确,或者脚本里的UI元素ID有没有和当前APK的界面匹配(比如UI更新了但脚本没同步)。
内容的提问来源于stack exchange,提问作者Donal Rafferty
相关产品推荐
相关产品推荐

