問題タブ [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.

0 投票する
1 に答える
784 参照

android - AWS Device Farm - CLI 使用時のアップロードの失敗

bash スクリプトを使用して apk をデバイス ファームにアップロードしようとしています。create-upload エンドポイントを使用して、put 要求の署名済み URL を取得し、curl を使用して apk をエンド ポイントに PUT しています。

ファイルのアップロードはできているようですが、返された ARN を使用してステータスを確認すると、ステータスが失敗であり、理由は「無効なアプリケーションがアップロードされました」です。

ただし、GUI を使用してまったく同じファイルを Web コンソールにアップロードすると、アプリケーションは問題なく、それに対してテストを実行できます。

0 投票する
2 に答える
284 参照

java - Java SDK を使用して AWS Device Farm にファイルを配置しようとすると「無効なアプリケーションがアップロードされました」

AWS Java SDK 1.10.16 を使用して apk を AWS Device Farm にアップロードしようとしています

まず、アップロード オブジェクトを作成して、PUT 要求を使用して apk を送信するために必要なアップロード URL を取得します。

次に、apk ファイルを送信する PUT を実行します。

しかし、アップロードは失敗します:

「無効なアプリケーションがアップロードされました」というエラー メッセージが表示されます。

私は何を間違っていますか?

ありがとう。

0 投票する
2 に答える
1098 参照

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 で動作しています。誰でも助けることができますか?

0 投票する
1 に答える
226 参照

android - AWS デバイス ファーム gradle プラグインが retrolambda で機能しない

AWS Device Farm Gradle プラグインのセットアップのガイドに従って、アプリケーションをセットアップして実行./gradlew devicefarmUploadしましたが、多くのエラーが発生しました。調べてみると、(Retrolambda を介して) ラムダ式を使用するたびにエラーが発生したことがわかりました。

app.apktesting.apkを AWS Device Farm に手動でアップロードすると、問題なく動作します。

すべてのラムダ式でビルドが失敗します。そのうちの 1 つを以下に貼り付けます。

0 投票する
2 に答える
1880 参照

android - AWS デバイス ファームが TestNG アノテーションを無視しているようです

AWS デバイス ファームにテストを正常にアップロードして実行しました。ローカルでは、 @Test(enabled = false, dependsOnGroups = "Login") などの楽しいものを使用して、その時点で実行するテストと実行順序をマークしています。ローカルでは、これはすべて正常に機能し、期待どおりにうまく機能します。この問題は、maven ビルドの zip をデバイス ファームにアップロードしてテスト実行を実行した後に発生します。

デバイス ファームからのログを見ると、「有効」が true に設定されているか false に設定されているかは気にせず、関係なく実行されます。また、「group=」および「dependsOnGroups」アノテーションも無視します。最初にログインしないと、他のすべてのテストが失敗するため、これは非常に重要です。さらに悪いことに、その後の失敗したテストはスキップされないため、AWS は喜んで追加料金を請求してくれます。

@Test(priority=blah) を使用してみましたが、それも無視しています。尊重しているように見えるのは、@BeforeSuite や @AfterSuite のようなものだけです。

誰でもこれに遭遇したり、なぜこれが起こっているのか考えがありますか?

0 投票する
1 に答える
658 参照

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-TypePUT リクエストの場合、ヘッダーに同じ値を使用する必要があります
。4) PUT リクエストが Go コードから送信される場合は、Content-Lengthヘッダーを手動で設定する必要があります。