远程Web驱动程序:在Chrome和Opera中使用代理

时间:2011-12-06 14:58:32

标签: java webdriver

我需要使用代理在不同的浏览器(FF,IE,Chrome,Opera)中测试webapp, 但现在我只能在FF和IE中做到这一点。

我知道使用代理

启动RemoteWebDriver的三种方法

1路:

Proxy proxy = new Proxy();
proxy.setProxyAutoconfigUrl(pacURL);

DesiredCapabilities cap = DesiredCapabilities.<browser>();
cap.setCapability(CapabilityType.PROXY, proxy);

wd = new RemoteWebDriver(wdURL, cap);

2路:

Proxy proxy = new Proxy();
proxy.setHttpProxy(proxyHost + ":" + proxyPort);

DesiredCapabilities cap = DesiredCapabilities.<browser>();
cap.setCapability(CapabilityType.PROXY, proxy);

wd = new RemoteWebDriver(wdURL, cap);

3方式:为Selenium Server设置系统属性(我不能使用它,因为我在测试开始之前不知道代理端口(代理从测试打开),并且一次可以使用一个Selenium Server进行多次不同的测试,并且每个人都必须使用不同的代理。)

在FF中工作1和2的方法。 在IE中只有2个。

Chrome不支持1和2方法,我认为因为它使用onle系统代理设置。因此,我只能在我的本地机器上运行测试,一次测试。

Opera拥有自己的代理设置,但1和2方法不起作用!

如何使用代理设置通过RWD启动Opera(也许是Chrome)?

1 个答案:

答案 0 :(得分:2)

最新版本的ChromeDriver支持WebDriver代理功能。见http://code.google.com/p/chromedriver/wiki/CapabilitiesAndSwitches。不确定Opera。