2017-12-27 19 views

答えて

0

の要求応答スクリプトを使用して、ブラウザ、マルチスレッドの問題を解決した場合、私は疑問に思う:

  1. Selenium Grid

    セレン・グリッドでは、並行して別のブラウザに対して異なるマシン上でテストを実行できます。つまり、異なるブラウザとオペレーティングシステムを実行している異なるマシンに対して同時に複数のテストを実行することです。本質的に、Selenium-Gridは分散テスト実行をサポートします。分散テスト実行環境でテストを実行できます。

  2. Apache JMeterWebDriver Samplerプラグインです。この方法で、並行性を制御し、パフォーマンスメトリックをHTML Reporting Dashboardの形式で取得することができます。

0

ウェブブラウザの同時実行性をシミュレートすることは、ほとんどの負荷テストツールが非常に悪いことです。私たちはk6でこれを実行しようとしました。これは、各VU(仮想ユーザ)が複数の同時TCP接続を使用して物事を並行して取得できるようにすることでした。この機能を有効にする特殊なAPI関数(http.batch())があります。 http.batch()は、複数のURLを入力パラメータとして受け入れ、可能な限り多くを同時に取得します。

Dmitriと同様に、Jmeterには並行性を提供するプラグインがあります。しかし、実際に何をするか(私が間違っていない限り)は、複数のVUで要求を広めることです。各VUは引き続き1つの同時接続のみを使用します。 100人の実際のブラウザユーザーをシミュレートしたい場合は、現実的に行うには1,000個のVUを起動する必要があります。これは他の負荷テストツールで得られるものと大きく異なるわけではありませんが、より多くの並行性とより多くのトラフィックを作成するために、より多くのVUを起動することができます。

k6、おそらく1つまたはおそらく2つの他のツール(Jmeterはそれらの1つではありません)を除いて、ブラウザの動作を実際にシミュレートする場合の唯一のオプションは、Selenium Gridまたは負荷テストを行うために実際の多数の実際のブラウザを起動させるのに似た何かがあります。欠点は、実際のブラウザは実行するのに非常にコストがかかることです。CPUとメモリをたくさん使いたいからです。しかし、彼らは最高のブラウザ "シミュレーション"を提供しています。

関連する問題