JMeterでSeleniumスクリプトを実行する
1. 概要
このチュートリアルでは、JMeterでSeleniumスクリプトを実行する手順について説明します。
2. JMeterを使用したSeleniumスクリプト
JMeterは、パフォーマンスと負荷テストのためのオープンソースソリューションを提供します。機能テストにも使用できます。 しかし、CSS 、 JS、HTML5などのテクノロジーの進歩に伴い、クライアントにますます多くのロジックと動作をプッシュしています。 したがって、ブラウザの実行時間はさらに長くなります。 これらのものは次のとおりです。
- クライアント側のJavascriptの実行– AJAX、JSテンプレートなど。
- CSS変換– 3Dマトリックス変換、アニメーションなど。
- サードパーティのプラグイン–Facebookはダブルクリック広告などが好きです。
次に、これはWebサイトまたはWebアプリケーションの全体的なパフォーマンスに影響を与える可能性があります。 しかし、JMeterには、これらの知覚されたパフォーマンスを測定するためのそのようなマトリックスがありません。 JMeterは実際のブラウザではないため、ロード時間やページレンディションなどのクライアントレンダリングでのユーザーエクスペリエンスを測定することもできません。
SeleniumのようなWebドライバーは、クライアント側(この場合はブラウザー)で上記のパフォーマンスメトリックの実行と収集を自動化できます。 したがって、JMeter負荷テストはシステムに十分な負荷をかけますが、JMeter WebDriverプランは、ユーザーエクスペリエンスの観点から応答時間やその他の動作を取得します。
したがって、パフォーマンスの測定とは別に、JMeterでWebDriverセットを使用する場合のその他の動作も測定できます。 それでは、これについてさらに説明しましょう。
3. 前提条件
JMeterでSeleniumスクリプトを実行する前に、次の前提条件を満たしている必要があります。
- システムにJMeterがインストールされている必要があります
- 次に、JMeterプラグインマネージャーを使用して「 Selenium /WebDriver」プラグインをインストールする必要があります
- geckoドライバー/chromeドライバーバイナリをシステムにダウンロードします
これで、先に進み、Seleniumスクリプトを実行するためのサンプルJMeterプロジェクトを作成できます。
4. JMeterプロジェクト
この時点で、JMeterでSeleniumスクリプトを実行するための環境がインストールされています。 それでは、JMeterプロジェクトを作成して、構成およびテストしてみましょう。 SeleniumWebドライバーサンプラーインスタンスを持つスレッドグループを作成します。このサンプラーにSeleniumスクリプトを含めて実行します。
詳細な説明を以下に示します。
まず、JMeterGUIを起動します。
次に、[編集]-> [追加]をクリックしてスレッドグループを選択することにより、単純な「スレッドグループ」を追加できます。
次に、Chromeドライバー構成を追加する必要があります。次に、左側のペインでChromeドライバー構成をクリックし、「Chromeドライバーへのパス」を指定します。
スクリプトを正常に実行するには、Chromeブラウザのバージョンが「Chromedrive.exe」バージョンと一致している必要があることに注意してください。
次に、Webドライバーサンプラーをスレッドグループに追加する必要があります。
以下のスクリプトをスレッドグループに追加できます。
WDS.sampleResult.sampleStart()
WDS.browser.get('http://baeldung.com')
WDS.sampleResult.sampleEnd()
WDS.log.info("successfully navigated to http://baeldung.com/");
最後に、「結果をテーブルに表示」または「結果ツリーを表示」リスナーを追加して、スクリプト実行の結果を表示できるようにします。
上で作成したスレッドグループは、次の画像のようになります。
5. Seleniumスクリプトの実行
これで、実行するSeleniumスクリプトを使用してスレッドグループを作成しました。 次に、「スレッドグループを実行する」。
Selenium Web Driverのインスタンスが作成され、新しいChromeドライバーウィンドウが開き、Baeldungのホームページが開きます。
上記のJMeterの結果の表からわかるように、新しいChromeブラウザウィンドウを開いてから指定されたWebページを開く単純なSeleniumスクリプトを含むスレッドグループが正常に実行されました。 このように、スレッドグループにWebDriverサンプルを追加して実行することにより、任意のSeleniumスクリプトを実行できます。
6. 結論
このチュートリアルでは、JMeterを使用してSeleniumスクリプトを実行する方法を説明しました。 Selenium Web Driverインスタンスを含むスレッドグループを作成することにより、JMeterでSeleniumスクリプトを実行しました。
実装の完全なコードは、GitHubでから入手できます。