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 Device Farm

尝试从 AWS Lambda 但不是桌面访问 AWS Device Farm 时出现 SSL 证书错误

如何使用 Android 获得 AWS Device Farm 测试的代码覆盖率?

如何在 AWS Device Farm 中运行 maven 命令

AWS Device Farm 应用程序未列出任何设备