How can i solve proxy problem when using AWS device farm?

纵饮孤独 提交于 2021-01-29 05:02:24

问题


I'm trying to execute aws device farm example code that we can get below site. https://docs.aws.amazon.com/devicefarm/latest/testgrid/getting-started-local.html

// Import the AWS SDK for Java 2.x Device Farm client:
...

// in your tests ...
public class MyTests {
  // ... When you set up your test suite
  private static RemoteWebDriver driver;

  @Before
  void setUp() {
    String myProjectARN = "...";
    DeviceFarmClient client  = DeviceFarmClient.builder().region(Region.US_WEST_2).build();
    CreateTestGridUrlRequest request = CreateTestGridUrlRequest.builder()
      .expiresInSeconds(300)
      .projectArn(myProjectARN)
      .build();
    CreateTestGridUrlResponse response = client.createTest.GridUrl(request);
    URL testGridUrl = new URL(response.url());
    // You can now pass this URL into RemoteWebDriver.
    WebDriver driver = new RemoteWebDriver(testGridUrl, DesiredCapabilities.firefox());
  }
  
  @After
  void tearDown() {
    // make sure to close your WebDriver:
    driver.quit();
  }

}

After executing above codes, the error was occurred and the message is like this.

java.net.UnknownHostException: devicefarm.us-westt-2.amazonaws.com

I guess the code can't resolve host because of proxy server. How can i resolve this problem?

Thanks.


回答1:


Can you please confirm which line throws java.net.UnknownHostException: devicefarm.us-westt-2.amazonaws.com. Is it client.createTest.GridUrl(request) or WebDriver driver = new RemoteWebDriver(testGridUrl, DesiredCapabilities.firefox());

If it is the client.createTest.GridUrl(request), then please follow Proxy Configuration mentioned at https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/section-client-configuration.html




回答2:


My current setUp method is like this.

@Before
public void setUp() {
    try {
        ProxyConfiguration.Builder proxyConfig = ProxyConfiguration.builder();
        proxyConfig.endpoint(new URI("<YOUR PROXY URL>"));
        proxyConfig.username("<YOUR USER ID>");
        proxyConfig.password("YOUR PASSWORD");
        ApacheHttpClient.Builder httpClientBuilder =
                ApacheHttpClient.builder()
                                .proxyConfiguration(proxyConfig.build());

        String myARN = "<YOUR ARN>";
        DeviceFarmClient client  = DeviceFarmClient.builder()
                .credentialsProvider(DefaultCredentialsProvider.create())
                .region(Region.US_WEST_2)
                .httpClientBuilder(httpClientBuilder)
                .overrideConfiguration(ClientOverrideConfiguration.builder().build())
                .build();
        CreateTestGridUrlRequest request = CreateTestGridUrlRequest.builder()
                .expiresInSeconds(300)        // 5 minutes
                .projectArn(myARN)
                .build();
        URL testGridUrl = null;
        CreateTestGridUrlResponse response = client.createTestGridUrl(request);
        testGridUrl = new URL(response.url());
        driver = new RemoteWebDriver(testGridUrl, DesiredCapabilities.chrome());
    } catch (Exception e) {
        e.printStackTrace();
    }
}

Thank you again.



来源:https://stackoverflow.com/questions/63918631/how-can-i-solve-proxy-problem-when-using-aws-device-farm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!