AWS Device Farm - 使用 CLI 时上传失败
Posted
技术标签:
【中文标题】AWS Device Farm - 使用 CLI 时上传失败【英文标题】:AWS Device Farm - Failed upload when using the CLI 【发布时间】:2015-10-12 17:09:26 【问题描述】:我正在尝试使用 bash 脚本将 apk 上传到设备场,我已使用 create-upload 端点为 put 请求获取预签名的 url,然后我正在使用 curl 将 apk 放到终点。
RESPONSE=$(aws devicefarm create-upload --project-arn %deviceFarmProjectARN% --name platforms/android/build/outputs/apk/android-release-unsigned.apk --type ANDROID_APP --content-type application/octet-stream)
APK_ARN=$(echo "$RESPONSE" | grep arn:aws:devicefarm | gawk 'match($0, "(arn:aws:devicefarm(.*))\"", ary) print ary[1]')
APK_PUT_URL=$(echo "$RESPONSE" | gawk 'match($0, "\"url\": \"(.*)\"", ary) print ary[1]')
echo "$APK_ARN" >> apkARN.txt
curl $APK_PUT_URL -X PUT --upload-file platforms/android/build/outputs/apk/android-release-unsigned.apk -H "Content-Type:application/octet-stream"
文件上传似乎可以工作,但是当我使用返回的 ARN 检查状态时,状态失败,原因是“上传的应用程序无效”
"upload":
"status": "FAILED",
"contentType": "application/octet-stream",
"name": "platforms/android/build/outputs/apk/android-release-unsigned.apk",
"created": 1437582538.139,
"type": "ANDROID_APP",
"arn": "arn:aws:devicefarm:us-west-2:208791684493:upload:a9153182-8e03-4bc3-a5db-bc02034f1331/190ac7a5-bdc4-46f2-aac2-46bb994f2cf3",
"metadata": "\"errorMessage\":\"Invalid application uploaded.\""
但是,当我通过 GUI 在 Web 控制台上上传完全相同的文件时,应用程序很好,我可以针对它运行测试。
【问题讨论】:
【参考方案1】:上传名称只接受单词字符。由于名称中的正斜杠,上传失败。
【讨论】:
以上是关于AWS Device Farm - 使用 CLI 时上传失败的主要内容,如果未能解决你的问题,请参考以下文章
将 AWS Device Farm 与 JUnit 5 结合使用
尝试从 AWS Lambda 但不是桌面访问 AWS Device Farm 时出现 SSL 证书错误
如何使用 Android 获得 AWS Device Farm 测试的代码覆盖率?