我的测试脚本使用带有browsermob代理服务器的Selenium Webdriver模拟慢速连接。启动Internet Explorer WebDriver,并打开System Proxy的browsermob代理。它影响到与Internet的所有连接(Eclipse插件更新,邮件相应和其他应用程序)。因此,我需要在测试脚本结束时禁用系统代理。如何从java做到这一点?
注意:browsermob代理服务器的停止不会禁用系统代理设置。
我在Internet Explorer Webdriver中找到了解决方案。需要使用IE特定所需功能启动Web驱动程序:
BrowserMobProxy server = new BrowserMobProxyServer();
server.start();
Proxy proxy = ClientUtil.createSeleniumProxy(server);
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.IE_USE_PRE_PROCESS_PROXY, true);
capabilities.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver = new InternetExplorerDriver(capabilities);
更多信息在这里https://github.com/seleniumhq/selenium/wiki/desiredcapabilities