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

如何通过Azure DevOps流水线将构建包上传至Sauce Lab/Test-Fairy

通过Azure DevOps流水线上传构建包至Sauce Labs/Test-Fairy的实现方案

一、上传至Sauce Labs

1. 前置准备

  • 获取Sauce Labs账号的用户名和API访问密钥,在Azure DevOps的「库」中创建变量组,将这两个值分别存入SAUCE_USERNAME和SAUCE_ACCESS_KEY,并标记为保密变量。

2. 流水线任务配置

在构建任务完成(已生成.apk/.aab(Android)或.ipa(iOS)包)后,添加脚本任务(Bash或PowerShell均可),调用Sauce Labs的存储API上传包:

# Android包上传示例
curl -u "$SAUCE_USERNAME:$SAUCE_ACCESS_KEY" \
  -X POST "https://api.us-west-1.saucelabs.com/v1/storage/upload" \
  -F "payload=@$(Build.ArtifactStagingDirectory)/your-app-build.apk" \
  -F "name=YourApp-$(Build.BuildNumber).apk"
  • 若上传iOS的.ipa包,只需替换上述命令中的包路径和名称即可,注意ipa需是已完成签名的合规包。
  • 上传成功后,API会返回存储ID,可用于后续在Sauce Labs中关联测试任务。

二、上传至Test-Fairy

1. 前置准备

  • 获取Test-Fairy的API密钥,在Azure DevOps变量组中创建TEST_FAIRY_API_KEY保密变量存储该密钥。

2. 流水线任务配置

在构建完成后添加脚本任务,调用Test-Fairy的上传API,示例如下:

# Android包上传示例
curl -X POST "https://upload.testfairy.com/api/upload" \
  -F "api_key=$TEST_FAIRY_API_KEY" \
  -F "file=@$(Build.ArtifactStagingDirectory)/your-app-build.apk" \
  -F "testers-groups=internal-test-team" \
  -F "notify=on" \
  -F "auto-update=on"
  • 参数说明:
    • testers-groups:指定接收应用的测试组名称(需在Test-Fairy后台提前创建)
    • notify=on:开启测试人员邮件通知
    • auto-update=on:允许测试应用自动更新
  • iOS的.ipa包上传只需替换包路径,Test-Fairy支持自动适配企业签名的ipa包。

通用注意事项

  • 确认构建产物路径正确:$(Build.ArtifactStagingDirectory)是Azure DevOps默认的构建产物目录,若你的包生成在其他路径,需对应调整。
  • 权限验证:确保Sauce Labs/Test-Fairy的API密钥有效,且账号具备上传应用的权限。
  • 任务顺序:上传任务必须放在构建任务之后,保证待上传的包已生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 12:02:40