我正在使用此代码将浏览器mob代理与maven依赖项集成
net.lightbody.bmp browsermob-core 2.1.5
它根本没有捕获网络请求,我得到这种har文件:
{
"log":{
"version":"1.2",
"creator":{
"name":"browserMob Proxy",
"version":"2.1.0-beta-6-littleproxy",
"comment":""
},
"pages":[
{
"id":"11",
"startedDateTime":"2017-10-26T17:28:42.501+05:30",
"title":"11",
"pageTimings":{
"comment":""
},
"comment":""
}
],
"entries":[],
"comment":""
}
}
package lenskart.tests;
import java.io.File;
import java.net.UnkNownHostException;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.Test;
import net.lightbody.bmp.browserMobProxyServer;
import net.lightbody.bmp.client.ClientUtil;
import net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager;
import net.lightbody.bmp.proxy.CaptureType;
public class ProxyTestClass {
@Test
public static void main() throws Exception {
// Todo Auto-generated method stub
browserMobProxyServer browserMobProxy = new browserMobProxyServer();
browserMobProxy.setTrustAllServers(true);
browserMobProxy.setMitmManager(ImpersonatingMitmManager.builder().trustAllServers(true).build());
browserMobProxy.start(0);
System.out.println("Port Started On: " + browserMobProxy.getPort());
System.setProperty("webdriver.chrome.driver", "/Users/pankaj.katiyar/Desktop/Automation/Lenskart_Automation/tpt/drivers/chromedriver");
browserMobProxy.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.RESPONSE_CONTENT, CaptureType.RESPONSE_HEADERS);
WebDriver driver = getDriver_CapProxy(browserMobProxy);
driver.get("http://www.lenskart.com");
driver.navigate().to("http://www.google.com");
driver.quit();
browserMobProxy.stop();
browserMobProxy.newHar("11");
browserMobProxy.getHar().writeto(new File("/Users/pankaj.katiyar/Desktop/Automation/Lenskart_Automation/har"));
;
System.out.println("Loaded browser ");
}
public static WebDriver getDriver_CapProxy(browserMobProxyServer browserMobProxy) throws UnkNownHostException {
Proxy proxy = ClientUtil.createSeleniumProxy(browserMobProxy);
proxy.setHttpProxy("localhost:" + browserMobProxy.getPort());
DesiredCapabilities cap = new DesiredCapabilities();
ChromeOptions options = new ChromeOptions();
options.addArguments("--ignore-certificate-errors");
cap.setCapability(ChromeOptions.CAPABILITY, options);
cap.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver = new ChromeDriver(options);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
return driver;
}
}
解决方法:
我运行了您的代码,只需要进行两项更改,即更改
WebDriver driver = new ChromeDriver(options);
至
WebDriver driver = new ChromeDriver(cap);
并移动browserMobProxy.newHar(“11”);在导航之前
browserMobProxy.newHar("11");
driver.get("http://www.lenskart.com");
休息一下就可以了.一旦你这样做,Har就会很好地生成,如下面的屏幕截图所示
原文地址:https://codeday.me/bug/20190527/1163075.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。