我需要使用代理在不同的浏览器(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)?
答案 0 :(得分:2)
最新版本的ChromeDriver支持WebDriver代理功能。见http://code.google.com/p/chromedriver/wiki/CapabilitiesAndSwitches。不确定Opera。