如何在Firebase Test Lab中使用--directories-to-pull保存应用生成文件
问题1:如何拉取应用生成的所有数据并保存到结果存储桶中?
你需要同时将Firebase Test Lab默认拉取的系统结果路径,和你自己应用生成文件的存储路径都填入--directories-to-pull参数:
- 首先确认你应用生成文件的具体存储路径,可以先在本地测试机执行相同用例,通过
adb shell命令查看文件实际存储位置 - 把默认拉取路径(包含logcat、测试报告、默认截图等)和你自定义的应用路径用英文逗号拼接,填入参数即可。
问题2:当前对--directories-to-pull参数的使用方式是否正确?
语法使用是正确的,多路径用英文逗号分隔不需要加空格,但参数内容不全:你只填写了自定义需要拉取的两个路径,没有包含Test Lab默认会拉取的系统结果路径,所以会丢失系统生成的相关文件。
问题3:为什么使用--directories-to-pull参数后,结果存储桶中的文件数量更少?
--directories-to-pull是覆盖逻辑而非追加逻辑:
- 未指定该参数时,Test Lab会自动拉取所有默认结果目录的内容,包含logcat日志、测试结果报告、默认截图目录等
- 一旦手动指定该参数,Test Lab就只会拉取你明确列出的路径下的文件,不再自动拉取默认路径的内容,因此会出现文件数量减少的情况。
问题4:使用--directories-to-pull /storage报错提示路径不存在的原因?
该错误和Android版本的存储权限规则、测试设备的路径结构有关:
- Android 10及以上版本启用了分区存储机制,
/storage根目录默认没有访问权限,也不允许直接拉取整个根目录 - 部分测试设备的ROM不会暴露
/storage根路径,你可以替换为对应应用的外部存储私有路径(比如/sdcard/Android/data/[你的应用包名]/),也可以先在对应版本的测试设备上通过adb shell ls /确认实际存在的有权限路径再调整。
内容的提问来源于stack exchange,提问作者Giuseppe Cianci
相关产品推荐
相关产品推荐

