Maven と Jenkins の統合 Selenium チュートリアル
ジェンキンスとは何ですか Selenium?
Jenkins は、ハドソン研究所によって開発された主要なオープンソースの継続的統合ツールです。クロスプラットフォームであり、次の場所で使用できます。 Windows、Linux、Mac OS、および Solaris 環境。Jenkinsは JavaJenkin の主な用途は、SVN チェックアウト、cron、または任意のアプリケーション状態など、あらゆるジョブを監視することです。ジョブで特定のステップが発生すると、事前に設定されたアクションが実行されます。
Jenkins の重要な機能
- 変更サポート: Jenkins は、SVN などのリポジトリで行われたすべての変更のリストを生成します。
- 永久リンク: Jenkins は、簡単なコミュニケーションに使用できる最新のビルドまたは失敗したビルドへの直接リンクを提供します。
- インストール: Jenkins は、直接インストール ファイル (exe) を使用してインストールするか、アプリケーション サーバーを使用してデプロイする war ファイルを使用して簡単にインストールできます。
- メールの統合: Jenkins は、ビルドのステータスの内容を電子メールで送信するように設定できます。
- 簡単な構成: Jenkins 上でさまざまなタスクを設定するのは簡単です。
- TestNG テスト: Jenkins は自動テスト ビルドを実行するように構成できます。 テスト SVN の各ビルド後。
- 複数の VM: Jenkins は、ビルドを複数のマシンに分散するように構成できます。
- プロジェクトのビルド: Jenkins は、jar の詳細、jar のバージョン、ビルド番号と jar 番号のマッピングを文書化します。
- プラグイン: 3rd パーティ プラグインは、機能や追加機能を使用するように Jenkins で構成できます。
なぜジェンキンスと Selenium?
- Running: Selenium Jenkins のテストを使用すると、ソフトウェアが変更されるたびにテストを実行し、テストに合格したらソフトウェアを新しい環境にデプロイできます。
- Jenkins では、特定の時間にテストを実行するようにスケジュールを設定できます。
- 実行履歴やテストレポートを保存できます。
- Jenkins はビルドと テスト 継続的インテグレーションのプロジェクト。
Maven とは何ですか Selenium?
Maven は、コンストラクション ディレクトリ、ソース ディレクトリ、依存関係、テスト ソース ディレクトリ、ゴール、プラグインなどの Maven のプロジェクト情報と構成情報を含む POM (プロジェクト オブジェクト モデル) の概念に基づいた強力なプロジェクト/ビルド管理ツールです。 。
Maven と Jenkins を選ぶ理由
Selenium WebDriver はブラウザの自動化に最適です。ただし、テストやテスト フレームワークの構築に使用すると、力不足に感じます。 Maven との統合 Selenium 以下の利点を提供します
Apache Maven テスト プロジェクトのライフサイクル全体を管理するためのサポートを提供します。
- Maven は、プロジェクトの構造、依存関係、ビルド、およびテスト管理を定義するために使用されます。
- pom.xml(Maven) を使用すると、テストの構築とコードの実行に必要な依存関係を構成できます。
- Maven は、プロジェクトのビルド中に必要なファイルをリポジトリから自動的にダウンロードします。
Maven をインストールして使用する方法 TestNG Selenium
Maven をインストールして使用する手順は次のとおりです。 TestNG Selenium
このチュートリアルでは、 Eclipse (Juno) IDE Java 開発者がセットアップする Selenium WebDriverプロジェクト。さらに、m2eclipseプラグインを追加する必要があります Eclipse ビルドプロセスを容易にし、pom.xml ファイルを作成します。
m2eclipseプラグインを追加しましょう Eclipse 次の手順で:
ステップ1) In Eclipse IDE、選択 カスタマーサービス | 新しいソフトウェアをインストールする から Eclipse メインメニュー。
ステップ2) [インストール]ダイアログで、URLを入力します。 https://www.eclipse.org/m2e/。 選択する での作業 次のスクリーンショットに示すように、m2e プラグインを使用します。
ステップ3) ソフトウェアの制限をクリック 次へ ボタンを押してインストールを終了します。
構成 Eclipse メイビンと
m2e プラグインがインストールされたら、Maven プロジェクトを作成する必要があります。
ステップ1) In Eclipse IDE、選択して新しいプロジェクトを作成します File | New | その他 から Eclipse メニュー。
ステップ2) ソフトウェア設定ページで、下図のように New ダイアログ、選択 達人 | Maven プロジェクト そして「次へ」をクリックします
ステップ3) ソフトウェア設定ページで、下図のように 新しい Maven プロジェクト ダイアログで選択します 簡単なプロジェクトを作成する そして「次へ」をクリックします
ステップ4) WebdriverTest を入力します グループID: と アーティファクトID: そして「完了」をクリックします
ステップ5) Eclipse 作成します ウェブドライバーテスト 次の構造になります:
ステップ6) 右クリック JREシステムライブラリ 選択 プロパティ メニューからオプションを選択します。
ソフトウェア設定ページで、下図のように JRE システム ライブラリのプロパティ ダイアログボックスで、 ワークスペースのデフォルト JRE が選択されており、「OK」をクリックします
ステップ7)。 選択する pom.xml から プロジェクトエクスプローラー..
pom.xml ファイルがエディターセクションで開きます
ステップ8) 加えます Selenium、メイブン、 TestNG, ジュニット pom.xml への依存関係ノード:
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.45.0</version> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.8.8</version> <scope>test</scope> </dependency> </dependencies>
ステップ9) 新しいを作成します TestNG クラス。パッケージ名に「example」と「NewTest」を入力します。 お名前: テキストボックスをクリックして 終了 次のスクリーンショットに示すようにボタンをクリックします。
ステップ10). Eclipse 次のスクリーンショットに示すように、NewTest クラスが作成されます。
ステップ11) 次のコードをに追加します 新しいテスト クラス:
このコードは Guru99 のタイトルを検証します Selenium ページへ移動します。
package example; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; import org.testng.annotations.Test; import org.testng.annotations.BeforeTest; import org.testng.annotations.AfterTest; public class NewTest { private WebDriver driver; @Test public void testEasy() { driver.get("http://demo.guru99.com/test/guru99home/"); String title = driver.getTitle(); Assert.assertTrue(title.contains("Demo Guru99 Page")); } @BeforeTest public void beforeTest() { driver = new FirefoxDriver(); } @AfterTest public void afterTest() { driver.quit(); } }
ステップ12) WebdriverTest を右クリックし、選択します。 TestNG | に変換 TestNG.
Eclipse testng.xmlが作成され、名前の付いたテストを1つだけ実行する必要があることが示されます。 新しいテスト 次のスクリーンショットに示すように:
プロジェクトを更新し、ファイルがツリーに表示されることを確認します。 パッケージエクスプローラー (プロジェクトを右クリック – 更新)。
ステップ13) これでテストを実行する必要があります テスト用.xml。
だから、に行く 構成の実行 新しい起動を作成します TestNG、プロジェクトとフィールドを選択します スイート as テスト そして「実行」をクリックします
ビルドが正常に完了したことを確認します。
ステップ14)。 さらに、次のことを追加する必要があります。
- maven コンパイラ プラグイン
- maven-surefire-プラグイン
- テスト
pom.xmlへ.
maven-surefire-plugin は、テストの構成と実行に使用されます。ここでは、プラグインを使用して testing.xml を構成します。 TestNG テストを行い、テストレポートを生成します。
maven-compiler-pluginは、コードのコンパイルと特定のJDKバージョンのコンパイルに役立ちます。次のコードスニペットのすべての依存関係をpom.xmlに追加します。ノード:
ステップ15) を実行するにはe Maven ライフサイクルのテストでは、WebdriverTest を右クリックして選択します 実行者として実行 | Maven テスト。 Maven はプロジェクトからテストを実行します。
ビルドが正常に完了したことを確認します。
Jenkins を統合する方法 Selenium webdriver
Jenkinsをインストールし、TestNgでMavenを実行するように設定する手順は次のとおりです。 Selenium
インストール
ステップ1) に行く http://jenkins-ci.org/ そして、お使いの OS に適したパッケージをダウンロードしてください。 ジェンキンスをインストールします。
ステップ2) Jenkins を指定されたフォルダーに解凍します。次のスクリーンショットに示すように、exe ファイルを実行します。
ステップ3) In Jenkins 1.607 セットアップ ウィンドウをクリックします 次へ
ステップ4) ソフトウェアの制限をクリック インストールを開始する 最後にボタン。
ステップ5) インストールが完了したら、ブラウザ ウィンドウで Jenkins ダッシュボード (デフォルトでは http://localhost:8080) に移動します。
ステップ6) セットアップボタンをクリックすると、セットアップが開始されます 新しいアイテム CI ジョブを作成するためのリンク。
ステップ7) 次のスクリーンショットに示すように、Maven プロジェクトのラジオ ボタンを選択します。
ビルドの使用 Maven プロジェクト オプションでは、Jenkins は Maven プロジェクトの構築とテストをサポートします。
ステップ8) 「OK」ボタンをクリックします。 「WebdriverTest」という名前の新しいジョブが Jenkins ダッシュボードに作成されます。
ステップ9) に行く ジェンキンスを管理する => システムの構成 次のスクリーンショットに示すように。
JDK インストールをクリックし、次のスクリーンショットのように JDK を構成します。
ステップ10) に行きます 建設 新しい仕事のセクション。
ステップ11) ソフトウェアの制限をクリック 申し込む
ステップ12) WebdriverTest プロジェクト ページで、 今すぐビルド リンクをクリックします。
Maven がプロジェクトをビルドします。そうすれば、 TestNG テストケースを実行します。
ステップ13) ビルドプロセスが完了したら、Jenkins ダッシュボードで ウェブドライバーテスト プロジェクト
ステップ14) WebdriverTest プロジェクト ページには、次のスクリーンショットに示すように、ビルド履歴と結果へのリンクが表示されます。
ステップ15) 「最新のテスト結果」リンクをクリックすると、次のスクリーンショットに示すようにテスト結果が表示されます。
ステップ16)。 特定のビルドを選択し、「」をクリックすると現在のステータスが表示されます。コンソール出力"
Jenkins を自動実行するようスケジュール設定します。
ビルドのスケジュール設定(Selenium Tests) は、定義された基準に基づいてビルドを自動的にトリガーする Jenkins の重要な機能の 1 つです。 Jenkins には、ビルド トリガー構成でビルド プロセスをトリガーする複数の方法が用意されています。
例:
次のスクリーンショットに示すように、スケジュールテキストボックスに0 23 * * *と入力します。これにより、ビルドプロセスが毎日午後11時にトリガーされます。
Maven を使用しない Jenkings の使用
Jenkinsで純粋なTestNgスクリプトを実行するには、buildに以下を入力します。
D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG テスト
- [保存]ボタンをクリックします。
- 注: lib および bin フォルダーの実際のパスを上記のコマンドに追加する必要があります。
- コマンドを保存した後、Jenkins は事前定義された時間内にプロジェクトをビルドし、このコマンドは次のコマンドを使用して実行されます。 TestNG.
- 結果はカスタムレポートHTMLファイルに保存され、Jenkin設定で電子メールで送信できます。
- コードの出力は次のようになります
Jenkins を使用する利点
- 問題の早期発見 - ソフトウェア開発の初期段階でバグを検出できます。
- 自動統合 - すべての変更を統合するために別の作業は必要ありません
- インストーラー – 開発のどの時点でも利用できる展開可能なシステム
- 記録 - 部品の製造記録が維持されます
- サポートとプラグイン: Jenkin が人気の理由の 1 つは、大規模なコミュニティ サポートが利用できることです。また、機能拡張に役立つ既製のプラグインも多数用意されています。