首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BrowserMob代理问题

BrowserMob代理问题
EN

Stack Overflow用户
提问于 2015-07-28 01:00:18
回答 2查看 1.6K关注 0票数 0

有人熟悉使用BrowserMob代理吗?我需要些帮助。

https://github.com/lightbody/browsermob-proxy/blob/master/README.md

我的目标是尝试使用BrowserMob代理来检测某些事件是在Network中触发的。知道怎么做吗?

该语言是用Java编写的,我正在使用Selenium框架。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-18 14:22:20

使用下面的代码,您可以获得HAR归档文件。

代码语言:javascript
复制
BrowserMobProxy proxy = new BrowserMobProxyServer();
proxy.start(0);
HashSet<CaptureType> enable = new HashSet<CaptureType>();
enable.add(CaptureType.REQUEST_HEADERS);
enable.add(CaptureType.REQUEST_CONTENT);
enable.add(CaptureType.RESPONSE_HEADERS);
proxy.enableHarCaptureTypes(enable);
HashSet<CaptureType> disable = new HashSet<CaptureType>();
disable.add(CaptureType.REQUEST_COOKIES);
disable.add(CaptureType.RESPONSE_COOKIES);
proxy.disableHarCaptureTypes(disable);

//get the Selenium proxy object
Proxy selProxy = ClientUtil.createSeleniumProxy(proxy);

capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, selProxy);
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS,true);

FirefoxProfile profile = new FirefoxProfile();
WebDriver driver = new FirefoxDriver(new FirefoxBinary(),profile,capabilities);


driver.get(url);

Har har = proxy.getHar();

然后,根据需要探索har对象条目。

票数 1
EN

Stack Overflow用户

发布于 2015-08-19 00:07:33

  1. 假设您运行了脚本并获得了HAR格式的输出,那么上传到http://pcapperf.appspot.com/
  2. 您将看到类似于http://pcapperf.appspot.com/harviewer/index.html?path=examples/en-wikipedia-org.har的输出

示例代码仅供Java参考(请根据需要更改)

代码语言:javascript
复制
package com.selenium.performancetest;

import java.io.FileOutputStream;
import org.browsermob.core.har.Har;
import org.browsermob.proxy.ProxyServer;
import org.openqa.selenium.By;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

public class PerfTest {

public static void main(String[] args) throws Exception {

String strFilePath = "";

// start the proxy
ProxyServer server = new ProxyServer(4444);
server.start();
//captures the moouse movements and navigations
server.setCaptureHeaders(true);
server.setCaptureContent(true);

// get the Selenium proxy object
Proxy proxy = server.seleniumProxy();

// configure it as a desired capability
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);

// start the browser up
WebDriver driver = new FirefoxDriver(capabilities);

// create a new HAR with the label "apple.com"
server.newHar("assertselenium.com");

// open yahoo.com
driver.get("http://assertselenium.com");

driver.get("http://assertselenium.com/2012/10/30/transformation-from-manual-tester-to-a-selenium-webdriver-automation-specialist/");

// get the HAR data
Har har = server.getHar();
FileOutputStream fos = new FileOutputStream(strFilePath);
har.writeTo(fos);
server.stop();
driver.quit();

}

}

参考文献

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31665783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档