0

ここで、Web GUI TA に関する要件があります。

複数のユーザー(20~30 人)が同時にボタンをクリックすることをシミュレートし、その時の Web GUI のパフォーマンスを評価したいと考えています。

RobotFrameWork + Selenium ライブラリを使用して、以前は Web Gui TA を実行していましたが、私の知る限りでは。Selenium ライブラリは一度に 1 つのブラウザしか処理できないため、今はどうすればよいかわかりません。

アドバイスをいただけますか?別のライブラリまたはフレームワークを使用する必要がありますか?

4

3 に答える 3

2

他の人が述べたように、この場合にやりたいことはUIテストではなく、ストレス/負荷テストです。気軽にガトリングが試せるはずです。最初に、ボタンのクリックに関連付けられた http 要求を記録します。次に、このリクエストを一度に 20 回起動する簡単なシナリオを作成します。何かのようなもの:

setUp(scn.inject(atOnce(20 ユーザー))) .protocols(httpConf)

于 2013-10-21T08:02:59.877 に答える
0

Selenium には、多数のブラウザーを実行する多数のインスタンスを構成するために使用できる「グリッド」オプションがあります。

http://www.seleniumhq.org/projects/grid/ http://www.seleniumhq.org/docs/07_selenium_grid.jsp

グリッドを使用すると、次のことができます。

複数のマシンにテストを分散することによるスケーリング (並列実行) 複数の環境を一元管理することで、ブラウザーと OS の膨大な組み合わせに対してテストを簡単に実行できます。たとえば、カスタム フックを実装して仮想インフラストラクチャを活用できるようにすることで、グリッドのメンテナンス時間を最小限に抑えます。

つまり、物事を管理する「ハブ」を作成すると、各「ノード」はハブの要求に応じてテストを実行できます。

ただし、これは最善のルートではない可能性があることを考慮してください。multi-mechanize のようなものがより便利かもしれません: http://testutils.org/multi-mechanize/

これにより、多くのユーザーがボタンを「クリック」できるようになりますが、ブラウザ経由ではなく、直接 HTTP 呼び出しを介して行うことができます。これは、複数ユーザーの同時「ヘッドレス」負荷テストに適している可能性があります。これは、あなたがやろうとしていると思います。

于 2013-10-20T11:49:06.370 に答える
0

私はこの質問に少し混乱しています:

GUI をテストしますか? 「このボタンを押すとドロップダウン メニューが表示されます」のようなものであれば、同時に何人のユーザーがそれを実行しても関係なく、常に機能するか、まったく機能しないかのどちらかです。

負荷をかけた状態でサーバーをテストしますか? その場合、Selenium は機能しますが、より優れたツールがあります。私は JMeter を使用して成功しましたが、ここにそれらすべての非常に優れたリストがあります: http://performance-testing.org/

最後に、同じブラウザの同じページで 20 個の異なるボタンを同時に押したいですか? もしそうなら、これはセレンでは不可能であり、標準的なユースケースでもありません.

于 2013-10-20T18:11:00.607 に答える