私が持っているもの: 私の 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 との統合については、かなり迷っています。
アイデアや代替案はありますか?ありがとう!