3

私が持っているもの: 私の AngularJS アプリ用に Jasmine で書かれたいくつかの統合テスト仕様 (それらは私のアプリ全体をナビゲートします)

欲しいもの: アプリのネットワーク監視を実行し、HAR を使用してデータをエクスポートする

単純な解決策: URL を受け取り、HAR を使用してデータをエクスポートするスクリプトを作成するだけです。簡単ですが、自動ではありません (手動で URL を提供する必要があります)。

ソリューションの強化: 上記のプロセスを自動化します。アプリのすべてのページをナビゲートし、それぞれのネットワーク データを抽出するスクリプト。しかし、統合テスト (分度器 + ジャスミン) を介してアプリのすべてのページを既にナビゲートしているので、ネットワーク トラフィックのエクスポートに関する部分を「プラグイン」するだけです。

私はこれを見つけました。分度器でBrowserMob Proxyを使用するにはどうすればよいですか? 、提供されている例 here 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
    }
}

そして、私の統合テスト仕様の1つ(それはCoffeeScriptです):

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 と Protractor および brosermob との統合については、かなり迷っています。

アイデアや代替案はありますか?ありがとう!

4

0 に答える 0