主にフロント開発者向けの便利なツールをコミュニティと共有したいと思います。 このツールはかなり湿っていて、開発が必要です。 簡単に言えば、これは問題を解決する一般的なたわごとコードです。 リファクタリングについては、能力が不足しています。どのような問題を解決していますか?
このスクリプトを使用すると、ブラウザ側の「フル」ページロードに関する統計を収集できます。 これは、明らかにサーバーによるページ配信時間とは異なります。 完全な読み込みとは、すべてのページリソース(画像、スタイル、スクリプト)を読み込み、onloadブラウザイベントを実行することを意味します。 誰もが知っているように、今回はfirebugで見ることができます。 しかし、適切な評価のためには、統計を収集する必要があることは明らかです。 ページを開き、1回または2回以上フルロードした時間を覚えておいてください。 何百ものスタートに基づいて、あなたはすでに全負荷の平均時間について話すことができます、そして、これは私の理解では良い指標です。
かつて、Firebug Firefox v.3.6用の拡張機能が作成され、このような統計情報を収集できるようになり、ブラウザーのキャッシュであるHammerhead(
stevesouders.com/hammerhead )をオフにすることができました。 残念ながら、新しいバージョンとの互換性はありません。
Javascriptファイルの最適化されたダウンロードの有効性を評価するには、このような統計が必要でした。 その結果、適切なものが見つからなかったため、自転車を作りました。 基礎として、Webインターフェースの自動テスト用のSelenium WebDriverシステムが選択されました。 Pythonバージョンを使用しました。 時間を測定するには、比較的新しいHTML5
window.performanceオブジェクトを
使用します (詳細については
www.html5rocks.com/en/tutorials/webperformance/basicsを参照してください)。
スクリプト実行
これは私の最初の(そして今までで最後の!)Seleniumのテストだったので、インストールと実行にいくつかの困難に遭遇しました。 一般的に、ミハイルポラーラッシュのマスタークラス「最初のセレンテストの書き方」に焦点を当てることをお勧めします(
Youtu.be/IPraAY78jGY?t=22m22s )
スクリプトを正常に実行するには、いくつかの条件を満たす必要があります。
a)タイプライター上のpythonの存在
b)自動テストの製品を直接インストールする:
pip install selenium
c)JUnitに類似したテスト用のPythonインタープリターをインストールします。
pip install pytest
テストを実行するコマンド。たとえば、ファイルtest.pyに配置されます。
py.test test.py
起動の様子、スクリーンショット:

コードの説明
(すでに合意したように、すべてのコードは単一の
test.pyファイルにあります)
機能:
そのため、このツールで何ができるのかについてです。
- 任意のページの完全なロードに関する統計の自動収集。
- ChromeまたはFirefoxで実行します(理解しているように、ブラウザープロファイルをカスタマイズできます)。
このツールが他の誰かに役立つならうれしいです!
もちろん、改善したいと思います。 最初に、統計を使用して情報の出力を処理します-ファイルに入れます。 次に、window.performanceからより多くのパラメーターを収集します。 第三に、数字の代わりにグラフを見るのは素晴らしいことです。