Andrei Aionitoaie
Andrei Aionitoaie

Reputation: 11

AWS Device Farm send requests to server

I struggle with an issue for a few days/weeks now and decided to ask the community help. I use AWS device farm to run my automation tests. For the test framework I use Appium + Python. The app tested has mobile native clients and a web app. I'm using the requests library from Python to send requests to the web app in order to find out if the info sent from the mobile clients is ok.

On local environment everything works. But on AWS Host I receive the following error when r = session.get(self.url) is executed:

ConnectTimeout: HTTPConnectionPool(host='my_adress', port=myPort): Max retries exceeded with url: / (Caused by ConnectTimeoutError(, 'Connection to my address timed out. (connect timeout=100)'))

More info: The server is running on another AWS Host inside a private network, but with public subnet available.

Any ideas about how to fix this?

Upvotes: 0

Views: 569

Answers (1)

NikofTime
NikofTime

Reputation: 749

I work for the AWS Device Farm team.

  1. You mentioned that your expected Appium server is on another AWS host. Assuming you did not mean AWS Device Farm instance to which the device is connected when you said AWS host, this will be a case of VPC support. In this case today VPC support is not in place. We are looking at how to support it though.

  2. Device Farm has its own instance of Appium server that the tests are run against. This is the same as the Appium that you would have run locally when the device is also connected to the same machine and not on another host.

  3. If you want to use the Device Farm Appium server you should use http://127.0.0.1/4723/wdhub as the url of the server.

Hope that helps.

Upvotes: 0

Related Questions