0

Robotframework/Selenium でのテストの自動化に Firefox アドオンHAR エクスポート トリガーを使用しています。このテストは基本的に Web ページに移動し、エクスポートされた har ファイルを何らかの式で grep します。テストは時々失敗します。

そのような場合、テスト ケースで使用されるブラウザ ウィンドウのネットワーク タブ (約 70) よりも har ファイル内の要求がはるかに少ない (約 20) ことに気付きました。テスト ケースの停止後にこれらのリクエストを手動でエクスポートすると、すべてのリクエストが期待どおりにエクスポートされます。

だから、何かがエクスポート機能を中断していると思います(ただし、他のページは開かれておらず、ブラウザは閉じられていません)。ダムを使用することもできますがSleep、テスト クライアントがエクスポートがまだ進行中であるかどうかを確認するためのよりスマートな方法はありますか? いくつかの JS 呼び出しかコールバックか?

特定の数のエクスポート ファイルが存在するまで待機しようとしましたが、確実に機能しません。

のようなパラメーターを見てきましたdevtools.netmonitor.har.jsonpCallbackが、その使用方法はわかりません。私の設定は

("devtools.netmonitor.enabled", true);
("devtools.netmonitor.har.compress", false);
("devtools.netmonitor.har.defaultFileName", "Autoexport_%y%m%d_%H%M%S");
("devtools.netmonitor.har.defaultLogDir", <somepath>);
("devtools.netmonitor.har.enableAutoExportToFile", true);
("devtools.netmonitor.har.forceExport", true);   
("devtools.netmonitor.har.includeResponseBodies", false);
("devtools.netmonitor.har.jsonp", false);
("devtools.netmonitor.har.jsonpCallback", false);
("devtools.netmonitor.har.pageLoadedTimeout", "2500");

バージョン:

Firefox 43.0, 
Python 2.7.8, 
selenium 2.48.0, 
robotframework 3.0, 
robotframework-selenium2library 1.7.4, 
harexporttrigger-0.5.0-beta.7
4

1 に答える 1

0

実際には解決策ではありませんが、回避策: Autoexport をオフにし、ここで説明されているようにプログラムでエクスポートをトリガーします。

私はそれを知りませんでした。しかし今では、これははるかに優れたアプローチだと思います。

  • より安定した
  • パフォーマンスが向上
  • より多くの制御を可能にします

設定:

devtools.netmonitor.har.enableAutoExportToFile, false
devtools.netmonitor.har.forceExport, false
extensions.netmonitor.har.enableAutomation, true
extensions.netmonitor.har.contentAPIToken, "test"
于 2016-01-26T16:45:44.360 に答える