接口测试-browsermob-proxy

参考文章:
browsermob-proxy
lightbody
selenium

browsermob-proxy是什么

提供命令行的方式或者嵌入到Java项目中通过api方式生成HAR文件的插件,属于selenium的一个子项目。具体的流程有点类似与Flidder或Charles。原理开启一个端口监控某个端口下的所有HTTP请求,进行数据抓取。

Java API

依赖

compile 'net.lightbody.bmp:browsermob-core-littleproxy:2.1.0-beta-4'
    compile 'org.seleniumhq.selenium:selenium-java:2.49.0'

代码

BrowserMobProxy proxy = new BrowserMobProxyServer();
        proxy.start();
        Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxy);
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(CapabilityType.PROXY, seleniumProxy);
        WebDriver driver = new FirefoxDriver(capabilities);
        proxy.newHar("http://www.baidu.com");
        driver.get("http://www.baidu.com");
        Har har = proxy.getHar();
        har.writeTo(new File("baidu.com.har"));
        driver.close();

这里写图片描述

运行过程如下:

这里写图片描述

命令行

这里写图片描述

下载release版本后,解压,进入该目录bin目录下,执行命令sh browsermob-proxy输出如下信息:

58deMacBook-Pro-7:bin wuxian$ sh browsermob-proxy
Running BrowserMob Proxy using LittleProxy implementation. To revert to the legacy implementation, run the proxy with the command-line option '--use-littleproxy false'.
[INFO  2016-01-14T19:23:50,254 net.lightbody.bmp.proxy.Main] (main) Starting BrowserMob Proxy version 2.1.0-beta-4 
[INFO  2016-01-14T19:23:51,510 org.eclipse.jetty.util.log] (main) jetty-7.x.y-SNAPSHOT 
[INFO  2016-01-14T19:23:51,546 org.eclipse.jetty.util.log] (main) started o.e.j.s.ServletContextHandler{/,null} 
[INFO  2016-01-14T19:23:52,463 org.eclipse.jetty.util.log] (main) Started SelectChannelConnector@auto.58corp.com:8080
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值