如何解决使用AWS设备场时如何解决代理问题?
我正在尝试执行AWS设备场示例代码,我们可以从以下站点获得该代码。 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();
}
}
执行上述代码后,发生了错误,并且消息是这样的。
java.net.UnknownHostException:devicefarm.us-westt-2.amazonaws.com
我猜因为代理服务器,代码无法解析主机。 我该如何解决这个问题?
谢谢。
解决方法
能否请您确认哪一行引发java.net.UnknownHostException:devicefarm.us-westt-2.amazonaws.com。是client.createTest.GridUrl(request)还是WebDriver driver = new RemoteWebDriver(testGridUrl,DesiredCapabilities.firefox());
如果它是client.createTest.GridUrl(request),则请遵循https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/section-client-configuration.html
中提到的代理配置 ,我当前的setUp方法是这样的。
@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();
}
}
再次感谢您。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。