了解Selenium + browsermob-proxy +量角器+ AngularJS

时间:2015-10-27 14:30:24

标签: angularjs selenium protractor har browsermob

我拥有:使用Jasmine为我的AngularJS应用程序编写的几个集成测试规范(它们可以浏览我的整个应用程序)

我想要的:执行我的应用程序的网络监控并使用HAR

导出数据

天真的解决方案:只需编写一个接收URL并使用HAR导出数据的脚本。这很简单,但它不是自动的(我需要手动提供网址)

增强解决方案:自动化上述过程。一个脚本,可以浏览我的应用程序的所有页面,并为每个页面提取网络数据。但是,由于我已经通过集成测试(量角器+ Jasmine)浏览了我的应用程序的所有页面,我只想插入"插件"关于导出网络流量的部分。

我发现了这个How can I use BrowserMob Proxy with Protractor?,我正在查看此处提供的示例example,但我不太确定它是如何运作的。

  • 我应该将什么作为代理的主机和端口?
  • 我使用的是Selenium,我已为其指定了主机和端口,但我收到ECONNREFUSED错误。

这是我的量角器文件配置:

var Proxy = require('browsermob-proxy').Proxy;
...

protractorConf = exports.base = {
    //... more things

    onPrepare: function() {
        ... more things....
        browser.params.proxy = new Proxy({ // my selenium config for browsermob
            selHost: '10.243.146.33',
            selPort: 9456
        });
    //... more things
    }
}

在我的一个集成测试规范中(它的CoffeeScript btw):

beforeEach ->
  browser.get BASE_URL
  browser.params.proxy.doHAR 'some/page/of/my/app', (err, data) ->
    if err
      console.log err
    else
      console.log data

但是,我已经说过ECONNREFUSED错误了。关于Selenium与量角器和brosermob的整合,我完全迷失了。

任何想法或替代方案?谢谢!

0 个答案:

没有答案