You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Firebase TestLab先打开DeepLink再执行Robo测试脚本

解决Firebase TestLab先启动DeepLink再执行Robo脚本的问题

方法1:将DeepLink触发整合到Robo脚本开头

放弃TestLab配置页的DeepLink设置,直接在Robo脚本最开始添加启动DeepLink的动作,确保脚本执行前先打开目标页面:

  1. 打开你的Robo脚本(JSON格式)
  2. 在actions数组的最顶部添加以下动作:
{
  "actionType": "START_ACTIVITY",
  "intentAction": "android.intent.action.VIEW",
  "intentUri": "DEEPLINK_XXX"
}
  1. 保存脚本后重新上传到TestLab运行

这种方式让Robo脚本第一步就触发DeepLink打开目标页面,之后再执行后续交互操作,从根本上调整了执行顺序。

方法2:正确配置Context Descriptor等待DeepLink页面加载

之前的element_present配置缺少具体元素定位,导致条件不生效。需要指定DeepLink目标页面的唯一元素(比如页面标题的resourceId、特定按钮的ID等),让脚本等待该元素出现后再执行:
修改Robo脚本的contextDescriptor部分为:

"contextDescriptor": {
  "condition": "element_present",
  "element": {
    "resourceId": "com.your.package.name:id/unique_element_on_deeplink_page"
  }
}
  • 替换com.your.package.name:id/unique_element_on_deeplink_page为你目标页面实际存在的唯一元素ID
  • 同时保留TestLab配置中的DeepLink设置,TestLab会先尝试打开DeepLink,脚本会等待页面加载完成后再执行后续步骤

方法3:使用gcloud命令行指定启动顺序

如果通过TestLab网页配置无法满足需求,可以用gcloud命令提交测试,明确指定先触发DeepLink再启动Robo脚本:

gcloud firebase test android run \
  --type robo \
  --app path/to/your/app.apk \
  --robo-script path/to/your/script.json \
  --intent-action android.intent.action.VIEW \
  --intent-data "DEEPLINK_XXX" \
  --device model=Pixel6,version=33

这个命令会先通过intent打开DeepLink页面,再启动Robo脚本执行交互。

内容的提问来源于stack exchange,提问作者Ying

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 01:23:21