0

グラインダーを使用して、Apache Wicket に基づくシステムのストレス テストを行いたいと考えています。だから私がしたことは、グラインダーの TCP プロキシ ツールを使用してアプリケーションのテスト セッションを記録し、生成されたテスト スクリプトをグラインダーに供給してシステムのストレス テストを行ったことです。しかし、テストが正常に実行されていないことがわかりました。

多くの微調整とデバッグを行った結果、問題はウィケットの URL 生成システムにあることがわかりました。このシステムでは、ページのバージョン番号が URL に混在しています。

そのため、そのページのバージョン番号を URL から削除するための解決策を検索して見つけ (このように)、それらを使用すると、ブラウザーで使用される URL からそれらのバージョン番号が機能して削除されました。しかし、繰り返しになりますが、テストは機能しませんでした。

そのため、さらに調べたところ、URL はクリーンになりましたが、フォームのアクション属性は、次のようなページのバージョン番号が混在した URL を引き続き使用していることがわかりました。./?4-1.[wicket-path of the form]

フォームの URL からもこれらのバージョン番号を削除する方法はありますか? そうでない場合、この問題を克服して wicket Web アプリケーションのストレス テストを行う方法は他にありますか?

前もって感謝します

4

2 に答える 2

0

グラインダーを使用したことはありませんが、JMeter Proxy を使用してウィケット アプリケーションの負荷テストに成功しました。Wicket のデフォルトのバージョン メカニズムを変更することなく。

参考までに、JMeter のステップバイステップ リンクを次に示します。

https://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf

基本的に、プロキシ サーバーを実行してブラウザーからの Web 要求を受け入れ、テスト シナリオをキャプチャするだけでした。サンプルの収集が完了したら、ターゲット ホストの URL を、指定したいサーバー (localhost 以外) に変更します。

または、別の負荷テスト ツール BlazeMeter (JMeter と互換性があります) があります。すぐに理解できるように、Chrome ブラウザー プラグインを追加できます。

また、「よりクリーンな」URL のために、パッケージを個々の URL にマウントすることを検討することもできます。このようにして、同じパッケージ内のページに対して生成された一連の既知の URL を取得します (たとえば、レポート パッケージ内のすべてのレポート ページの /reports)。

お役に立てれば!

-ミヒル。

于 2016-04-27T17:45:44.237 に答える
0

URL から pageId を無視または削除しないでください。それらを削除すると、ページの完全に新しいインスタンスが要求されます。つまり、元のページからすべての状態が失われます。

when recordingを使用する代わりにhref、属性セット (自分で!) を で使用する必要がありますorg.apache.wicket.settings.DebugSettings#setComponentPathAttributeName(String)

したがって、Grinder/JMeter/Gatling/... は「href」の代わりにこの特別な属性を追跡し、後で CSS/XSLT セレクターを使用してクリックするリンクを見つける必要があります。

PS Scala コードを書くことを恐れていない場合は、https://github.com/vanillasource/wicket-gatlingをご覧ください。

于 2016-04-28T13:25:12.877 に答える