私たちはwatirを使用しており、鋼のルビーを使用してVS 2008と統合しており、Webアプリケーションを自動化しています。同じスクリプトを使用してパフォーマンステストを実行する方法はありますか、それともより優れたツールがありますか。
4 に答える
Web サイトのパフォーマンスを分析するもの (つまり、プロファイラー) が必要なのか、それとも負荷/ストレス テスト ツールが必要なのかを判断するのは困難です。スクリプトの再利用について話していることを考えると、プロファイラーではなく負荷テスト ツールが必要であると仮定します。
1 つ (免責事項: 私の会社はその会社です) を除いて、すべての負荷テスト ツールは、HTTP トラフィックを記録してから再生することによって機能します。このスクリプトは、Watir のような機能テスト スクリプトとは大きく異なります。
Watir スクリプトによって生成された HTTP トラフィックを記録するか、機能テストを直接実行してみてください。
FireWatir も使用している場合は、優れた Web 開発ツールである Firebug を使用でき、各ページの記録されたトラフィックが表示されます。主に IE を使用している場合は、HttpWatch を確認してください。商用ですが、IE に優れたネットワーク タイミングを提供し、さまざまなデータ形式にエクスポートできます。また、多くの負荷 テスト ツールには、トラフィックを記録して負荷スクリプトを生成できるプロキシが用意されています。
ネットワーク データを取得したら、Pylot、Grinder、JMeter などが理解できるスクリプトにすばやく変換できます。この方法の問題点は、サイトまたはテストの一部が変更されるたびに、スクリプトを再記録する必要があることです。また、アプリが基本的な HTML (つまり、Ajax、.NET ビューステートなど) 以上のものである場合は、負荷テスト ツールの高度な部分を使用する必要がある場合があります。詳細については、 ajax 負荷テストに関する私の記事を参照してください。
恥知らずなプラグ: 別のオープン ソース機能テスト ツールである Selenium を使用している (またはいくつかの Watir スクリプトを Selenium スクリプトに変換したい) 場合は、実際のブラウザーを使用して再生する負荷テスト サービスを提供する BrowserMob を使用できます。それらを駆動するロードおよび機能テスト スクリプト (Selenium)。より多くのリソースを使用しますが、クラウド コンピューティングのおかげで価格は依然として非常に低くなっています。
ログファイルに対して実行できるrawkがあります。これにより、非常に時間がかかっていることのかなり包括的な要約が得られます。
あるいは、Railsアプリのモニタリングを提供し、すべてのリクエストが実行していることの詳細な内訳を提供するNewRelicがあります。
そして最後に、NewRelicと非常によく似た処理を行うFiveRunsがあります。
d本当に「パフォーマンス」だけを話している場合は、スクリプトを変更して、ページの読み込み時間のキャプチャと記録を開始できます。ページをロードする何らかのアクション (リンクへの移動など) を行うと、Watir はページをロードする時間を返します。
各ページの読み込み時間を記録できるように、スクリプトに何らかの単純なログ記録方法を実装させ、スクリプトを変更して、戻り値が取得されるようにするだけです。
loadtime = browser.goto(someurl)
perflogger(someurl, loadtime)
LoadWise を見てください。既存の機能テスト スクリプトをパフォーマンス テストに再利用できます。
同じ負荷テスト スクリプトを変更せずに、Firefox で (FireWatir 経由で) プレビューするか、X 人の仮想ユーザー (Celerity 経由) で Web サイトをヒットすることができます。