Selenium 验证是否代理来自chromedriver的流量

Selenium 验证是否代理来自chromedriver的流量,selenium,google-chrome,google-chrome-extension,selenium-chromedriver,pac,Selenium,Google Chrome,Google Chrome Extension,Selenium Chromedriver,Pac,我正在为chrome浏览器扩展进行自动测试。扩展在浏览器上应用pac文件,并自动管理代理身份验证。我的目标是在测试运行时为成功代理的流量提供一个简单的通过/失败 在的帮助下,我成功地整理了这个配置来记录性能事件 final ChromeOptions options=新ChromeOptions(); 最终DesiredCapabilities=DesiredCapabilities.chrome(); setAcceptUnsecureCerts(true); options.addArgum

我正在为chrome浏览器扩展进行自动测试。扩展在浏览器上应用pac文件,并自动管理代理身份验证。我的目标是在测试运行时为成功代理的流量提供一个简单的通过/失败

在的帮助下,我成功地整理了这个配置来记录性能事件

final ChromeOptions options=新ChromeOptions();
最终DesiredCapabilities=DesiredCapabilities.chrome();
setAcceptUnsecureCerts(true);
options.addArguments(“加载扩展=“+UnpacedBrowserExtensionPath”);
options.setExperimentalOption(“w3c”,false);
final LoggingPreferences logPrefs=新的LoggingPreferences();
logPrefs.enable(LogType.PERFORMANCE,Level.ALL);
设置能力(“goog:loggingPrefs”,logPrefs);
实例=新的ChromeDriver(options.merge(capabilities));
我一直在检索测试期间的事件,并将它们写入日志以了解它们的意义

final List entries=instance.manage().logs().get(LogType.PERFORMANCE).getAll();
final FileWriter fw=newfilewriter(“/Users/pierreluisg/Desktop/out2.txt”);
用于(日志条目:条目){
fw.write(新日期(entry.getTimestamp())+“\t”+entry.getLevel()+“\t”+entry.getMessage()+”\n”);
}
fw.close();
当我查看网络日志时,它们似乎没有暗示任何代理。我确信流量正在被代理

我错过什么了吗?我要找的网络信息在别处可用吗

更新#1

我尝试使用了
BrowserMobProxyServer
,但它看起来像是扩展对代理功能的践踏。har中的日志条目为空。当浏览器扩展未启用时,它们已满。因此,这似乎不是正确的路线,至少按照下面的配置

proxyServer = new BrowserMobProxyServer();
proxyServer.setTrustAllServers(true);
proxyServer.start(9091, Inet4Address.getLocalHost());
proxyServer.setHarCaptureTypes(CaptureType.getAllContentCaptureTypes());
proxyServer.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.RESPONSE_CONTENT);
proxyServer.setUseEcc(true);

final Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxyServer);
final String hostIp = Inet4Address.getLocalHost().getHostAddress();
seleniumProxy.setHttpProxy(hostIp + ":" + proxyServer.getPort());
seleniumProxy.setSslProxy(hostIp + ":" + proxyServer.getPort());

capabilities.setCapability(CapabilityType.PROXY, seleniumProxy);
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
capabilities.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);