通过代理服务运行selenium测试

时间:2017-10-05 13:30:25

标签: selenium selenium-webdriver proxy selenium-chromedriver vpn

我需要在使用Google Chrome浏览器中的maven运行的java selenium-webdriver测试中设置代理连接。我尝试了其他用户关于代理问题的几种方式,但没有人适合我的情况。

它没有给我任何错误,但是如果我检查“https://www.whatismyip.com/”中的地理位置,它会显示未使用代理,因为我看到了我的真实连接IP。

用于PHP语言的curl命令的vpn代理文档如下:

<?php
function getWPage($proxy, $url, $referer, $agent, $header, $timeout) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
$result['EXE'] = curl_exec($ch);
$result['INF'] = curl_getinfo($ch);
$result['ERR'] = curl_error($ch);
curl_close($ch);
return $result;
}
?>

$proxy = http://<user@vpnservice.com>:<vpn_password>@<country_url>

以下示例为我提供了一个运行测试的工作浏览器,但未使用VPN,因为IP是我自己的,而不是VPN的那个,就像它没有使用VPN代理隧道一样。

protected String proxyUser = "user@company.com";
protected String proxyPass = "password";
protected String proxyUrl;

public WebDriver initDriverWebPcProxy(String url) throws IOException {
    proxyUrl = "http://" + proxyUser + ":" + proxyPass + "@" + url;

    DesiredCapabilities capabilities = DesiredCapabilities.chrome();
    proxy.setHttpProxy(proxyUrl);
    proxy.setSslProxy(proxyUrl);
    capabilities.setCapability("proxy", proxy);
    ChromeOptions options = new ChromeOptions();
    options.addArguments("start-maximized");


    capabilities.setCapability(ChromeOptions.CAPABILITY, options);
    driver = new ChromeDriver(capabilities);

    return driver;
}

0 个答案:

没有答案