【发布时间】:2018-06-08 08:21:52
【问题描述】:
我会尽可能详细。请原谅任何格式或语言问题。
我要做什么?
我正在尝试制作一个应用程序来将 APK 上传到 Appcenter,以便在用户提供的任何设备上执行 UI 测试用例。完成后,我的应用将显示执行的 UI 测试的结果。
我是怎么做到的?
应用中心提供了很多API,可以查看here。执行 UI 测试需要 4 个步骤。
- 创建一个新的测试运行。 这是有效的
- 创建要上传的文件的哈希值。 这是有效的
- 上传实际文件。 我不断收到 400 错误请求或“有效负载太大”错误。我的 APK 文件只有 1 MB 并且通过Appcenter CLI进行上传。
- 执行创建的测试运行。 此 API 不工作。可能是由于第三步失败。
我需要什么帮助?
上面的第 3 步对我不起作用。当我尝试通过 curl/postman 上传 APK 文件时,我不断收到以下错误。
卷曲命令:
curl -i -F "data=@app-debug-androidTest.apk" -H "X-API-Token:API_TOKEN_HERE" -H "Content-Type:application/json" -X POST https://api.appcenter.ms/v0.1/apps/{ORG_NAME}/{APP_NAME}/test_runs/{TEST_RUN_ID_CREATED_IN_STEP_1}/files
收到错误:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Payload Too Large</pre>
</body>
</html>
具有讽刺意味的是,当 Appcenter CLI 执行完全相同的 API 时,它可以工作。如果 UI 测试作为构建步骤的一部分执行,应用中心将使用完全相同的过程和 API 集来上传 APK。请查看完整日志here。出于格式化目的,我没有添加 inline。
我做错了什么?
【问题讨论】:
标签: android continuous-integration visual-studio-app-center