問題タブ [aws-device-farm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - AWS Device Farm - CLI 使用時のアップロードの失敗
bash スクリプトを使用して apk をデバイス ファームにアップロードしようとしています。create-upload エンドポイントを使用して、put 要求の署名済み URL を取得し、curl を使用して apk をエンド ポイントに PUT しています。
ファイルのアップロードはできているようですが、返された ARN を使用してステータスを確認すると、ステータスが失敗であり、理由は「無効なアプリケーションがアップロードされました」です。
ただし、GUI を使用してまったく同じファイルを Web コンソールにアップロードすると、アプリケーションは問題なく、それに対してテストを実行できます。
java - Java SDK を使用して AWS Device Farm にファイルを配置しようとすると「無効なアプリケーションがアップロードされました」
AWS Java SDK 1.10.16 を使用して apk を AWS Device Farm にアップロードしようとしています
まず、アップロード オブジェクトを作成して、PUT 要求を使用して apk を送信するために必要なアップロード URL を取得します。
次に、apk ファイルを送信する PUT を実行します。
しかし、アップロードは失敗します:
「無効なアプリケーションがアップロードされました」というエラー メッセージが表示されます。
私は何を間違っていますか?
ありがとう。
android - Appium AWS-devicefarm でのリモートサーバーまたはブラウザの起動失敗エラーの無効なアドレス
AWS デバイス ファームを使用してアプリをテストしようとしています。
ネイティブの iOS バージョンとネイティブの Android バージョンの両方があります。
私の TestNG テストはローカルでは完全に機能しますが、オンラインでは Android と iOS の両方で次のエラーが発生し続けました。
テストに失敗しました: 新しいセッションを開始できませんでした。考えられる原因は、リモート サーバーのアドレスが無効であるか、ブラウザの起動に失敗したことです。ビルド情報: バージョン: '2.48.2'、リビジョン: '41bccdd10cf2c0560f637404c2d96164b67d9d67'、時間: '2015-10-09 13:08:06' システム情報: ホスト: 'ip-10-0-221-27'、ip: '10.0.221.27'、os.name: 'Linux'、os.arch: 'amd64'、os.version: '3.13.0-53-generic'、java.version: '1.7.0_75' ドライバー情報: ドライバー。バージョン: AndroidDrive
私の JDK は 1.8 で、Appium は 1.4.8 で、最新の Maven、TestNG、および selenium ライブラリを使用して Eclipse IDE で動作しています。誰でも助けることができますか?
android - AWS デバイス ファーム gradle プラグインが retrolambda で機能しない
AWS Device Farm Gradle プラグインのセットアップのガイドに従って、アプリケーションをセットアップして実行./gradlew devicefarmUpload
しましたが、多くのエラーが発生しました。調べてみると、(Retrolambda を介して) ラムダ式を使用するたびにエラーが発生したことがわかりました。
app.apk
とtesting.apk
を AWS Device Farm に手動でアップロードすると、問題なく動作します。
すべてのラムダ式でビルドが失敗します。そのうちの 1 つを以下に貼り付けます。
android - AWS デバイス ファームが TestNG アノテーションを無視しているようです
AWS デバイス ファームにテストを正常にアップロードして実行しました。ローカルでは、 @Test(enabled = false, dependsOnGroups = "Login") などの楽しいものを使用して、その時点で実行するテストと実行順序をマークしています。ローカルでは、これはすべて正常に機能し、期待どおりにうまく機能します。この問題は、maven ビルドの zip をデバイス ファームにアップロードしてテスト実行を実行した後に発生します。
デバイス ファームからのログを見ると、「有効」が true に設定されているか false に設定されているかは気にせず、関係なく実行されます。また、「group=」および「dependsOnGroups」アノテーションも無視します。最初にログインしないと、他のすべてのテストが失敗するため、これは非常に重要です。さらに悪いことに、その後の失敗したテストはスキップされないため、AWS は喜んで追加料金を請求してくれます。
@Test(priority=blah) を使用してみましたが、それも無視しています。尊重しているように見えるのは、@BeforeSuite や @AfterSuite のようなものだけです。
誰でもこれに遭遇したり、なぜこれが起こっているのか考えがありますか?
amazon-web-services - AWS SDK for Go を介して Device Farm にアップロードされた Android アプリは、ステータスが INITIALIZED から変更されませんでした
AWS SDK for Go を使用して、AWS Device Farm でのアプリの実行を自動化しようとしています。しかし、Go バージョンの SDK でアップロードされたアプリは、ステータスが "INITIALIZED" から変更されることはありませんでした。AWS コンソールのウェブ UI を介してアップロードすると、すべて問題ありません。
アップロードのコードの例:
func uploadApp(client *devicefarm.DeviceFarm, appType, projectArn string) string {
params := &devicefarm.CreateUploadInput{
Name: aws.String(*appName),
ProjectArn: aws.String(projectArn),
Type: aws.String(appType),
}
resp, err := client.CreateUpload(params)
if err != nil {
log.Fatal("Failed to upload an app because of: ", err.Error())
}
log.Println("Upload ARN:", *resp.Upload.Arn)
return *resp.Upload.Arn
}
応答として、次のようなものを受け取りました:
{
Upload: {
Arn: "arn:aws:devicefarm:us-west-2:091463382595:upload:c632e325-266b-4bda-a74d-0acec1e2a5ae/9fbbf140-e377-4de9-b7df-dd18a21b2bca",
Created: 2016-01-15 14:27:31 +0000 UTC,
Name: "app-debug-unaligned.apk",
Status: "INITIALIZED",
Type: "ANDROID_APP",
Url: "bla-bla-bla"
}
}
With time status never changes from "INITIALIZED". 前述したように、UI からスケジュールされて実行されるアプリは問題なく動作します。
この理由を理解する方法は?
=======================================
解決:
1)CreateUpload
応答で事前に署名された S3 リンクを使用してファイルをアップロードする必要がある後
2) アップロードは、受信した URL によって本文にファイル コンテンツを含む HTTP PUT 要求を介して実行する必要があります
3)パラメータ&devicefarm.CreateUploadInput
を指定する必要がありContentType
ます。Content-Type
PUT リクエストの場合、ヘッダーに同じ値を使用する必要があります
。4) PUT リクエストが Go コードから送信される場合は、Content-Length
ヘッダーを手動で設定する必要があります。