0

私は数日/数週間の問題で苦労し、コミュニティの助けを求めることにしました。 オートメーションテストを実行するためにAWSデバイスファームを使用します。テストフレームワークの場合、私はAppium + Pythonを使用します。 テスト済みのアプリにはモバイルネイティブクライアントとウェブアプリがあります。私は、モバイルクライアントから送信された情報がOKかどうかを調べるために、Pythonのリクエストライブラリを使用してWebアプリケーションにリクエストを送信しています。AWS Device Farmがサーバーにリクエストを送信します

ローカル環境ではすべて動作します。 AWSホスト上で、私は次のエラーが表示されr = session.get(self.url)が実行された場合でも:

のconnecttimeout:HTTPConnectionPool(ホスト= 'my_adress'、ポート= myPort):マックス 再試行は、URLを上回っ:/( ConnectTimeoutError(によって引き起こされます、 「私のアドレスへの接続がタイムアウト (タイムアウト= 100を接続します)。」))

さらに詳しい情報: サーバーがプライベートネットワーク内の他のAWSホスト上で実行されているが、利用できるパブリックサブネットを持ちます。

これを修正する方法についてのご意見はありますか?

+0

問題のURLに接続できますか?ネットワークパス(ルートなし)が存在するか、ファイアウォール(AWSセキュリティグループまたはACL)がそれらをブロックするため、デバイスがそのボックスにアクセスできないようです。 – Raf

+0

@Raf回答が助けになりました。 AWS Securityのグループの問題と思われました。ありがとう –

答えて

0

私はAWS Device Farmチームで働いています。

  1. 期待しているAppiumサーバーが別のAWSホストにあると述べました。あなたがAWSホストと言ったときにデバイスが接続されているAWS Device Farmインスタンスを意味していなかったとすると、これはVPCサポートのケースになります。この場合、今日のVPCサポートは適切ではありません。我々はそれをサポートする方法を見ている。

  2. デバイスファームには、テストが実行される独自のAppiumサーバーインスタンスがあります。これは、デバイスが別のホストではなく同じマシンに接続されている場合にローカルで実行するAppiumと同じです。

  3. Device Farm Appiumサーバーを使用する場合は、サーバーのURLとしてhttp://127.0.0.1/4723/wdhubを使用する必要があります。

希望します。

関連する問題