Selenium Mavenとの統合と Jenkins
⚡ スマートサマリー
達人 Jenkins Selenium 統合により、Maven がプロジェクトの依存関係とライフサイクルを管理する自動化された継続的テスト パイプラインが作成されます。 Jenkins スケジュールとトリガーの構築、 Selenium ブラウザテストを実行し、再現性、信頼性、拡張性に優れたエンドツーエンドのWeb自動化を実現します。

何ですか Jenkins in Selenium?
Jenkins は、ハドソン研究所が開発した主要なオープンソースの継続的インテグレーションツールです。クロスプラットフォームで、 Windows、Linux、 macOS, Solaris 環境。 Jenkins で書かれています Java そして現在は以下のように配布されています Jenkins LTSは、安定した本番環境での使用を想定しています。主な用途は、SCMチェックアウト、cronスケジュール、アプリケーションの状態など、あらゆるジョブを監視することです。 Jenkins ジョブ内の特定の手順が発生したときに、事前に設定されたアクションを実行します。
の重要な機能 Jenkins
- 変更サポート: Jenkins GitやSVNなどのリポジトリで行われたすべての変更のリストを生成します。
- 永続リンク: Jenkins 最新のビルドまたは最後に失敗したビルドへの直接リンクを提供することで、チーム間のコミュニケーションを簡素化します。
- インストール: Jenkins ネイティブインストーラー、アプリケーションサーバーにデプロイされたWARファイル、またはDockerイメージを使用して簡単にインストールできます。
- メール統合: Jenkins ビルドの内容とステータスを毎回メールで送信するように設定できます。
- 簡単な構成: さまざまなタスクの設定 Jenkins ウェブダッシュボードから簡単に操作できます。
- TestNG テスト: Jenkins 自動化テストビルドを実行するように構成できます TestNG リポジトリへのコミットごとに。
- 複数の VM: Jenkins 複数のエージェントマシンにビルドを分散させることができます。
- プロジェクトビルド: Jenkins JAR、JARバージョン、マップの詳細を文書化しますping ビルド番号から成果物への変換。
- プラグイン: 3rd パーティプラグインは追加できます Jenkins 機能拡張および追加機能の実装。
Why Jenkins (NAIST) と Selenium?
- Running: Selenium テスト Jenkins ソフトウェアが変更されるたびにテストを実行し、テストに合格したらソフトウェアを新しい環境にデプロイできます。
- Jenkins スケジュールを組むことができます Selenium 特定の時間に実行されるテスト。
- 実行履歴とテストレポートを保存できます trac能力。
- Jenkins ビルドにはMavenをサポートし、 テスト 継続的インテグレーションのプロジェクト。
Maven とは何ですか Selenium?
Mavenは、POM(Project Object Model)の概念に基づいた強力なプロジェクトおよびビルド管理ツールです。POMには、ビルドディレクトリ、ソースディレクトリ、依存関係、テストソースディレクトリ、ゴール、プラグインなど、Mavenのプロジェクト情報と構成データが含まれています。Maven 3.xは現在の安定版であり、広く使用されています。 Selenium テストフレームワーク。
Mavenと Jenkins
Selenium WebDriverはブラウザの自動化には最適です。しかし、テストやテストフレームワークの構築に使用する場合、力不足に感じることがあります。Mavenを統合して Selenium 以下の利点があります。
Apache Maven テスト プロジェクトのライフサイクル全体を管理するためのサポートを提供します。
- Maven は、プロジェクトの構造、依存関係、ビルド、およびテスト管理を定義するために使用されます。
- pom.xml(Maven)を使用すると、コードのビルド、テスト、実行に必要な依存関係を設定できます。
- Mavenは、プロジェクトのビルド時に中央リポジトリから必要なファイルを自動的にダウンロードします。
Maven をインストールして使用する方法 TestNG Selenium
Mavenをインストールして使用する手順は次のとおりです。 TestNG Selenium.
このチュートリアルでは、 Eclipse (JunoIDE 用 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 from プロジェクトエクスプローラー.
pom.xmlファイルはエディターセクションで開きます。
ステップ8) 加えます Selenium、メイブン、 TestNG, JUnit 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("https://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) これでテストを実行する必要があります テスト.
だから、に行く 構成の実行 新しい起動を作成します TestNGプロジェクトを選択し、フィールドを設定します。 スイート as テストそして、「実行」をクリックします。
ビルドが正常に完了することを確認してください。
ステップ14) さらに、追加する必要がある
- maven コンパイラ プラグイン
- maven-surefire-プラグイン
- テスト
pom.xmlへ。
maven-surefire-plugin はテストの設定と実行に使用されます。ここでは、このプラグインを使用して testing.xml を設定します。 TestNG テストを行い、テストレポートを生成します。
maven-compiler-plugin は、コードのコンパイルを支援し、コンパイルに特定の JDK バージョンを使用するために使用されます。次のコード スニペットのすべての依存関係を pom.xml に追加します。ノード:
ステップ15) Mavenライフサイクルでテストを実行するには、WebdriverTestプロジェクトを右クリックして、 実行者として実行 | Maven テストMavenはプロジェクトからテストを実行します。
ビルドが正常に完了することを確認してください。
統合する方法 Jenkins Selenium webdriver
インストールする手順は次のとおりです Jenkins LTS と設定して、Maven を実行するように構成します。 TestNG Selenium.
設置
ステップ1) に行く https://www.jenkins.io/download/ そして正しいものをダウンロードしてください Jenkins お使いのOS用のLTSパッケージをインストールしてください。 Jenkins.
ステップ2) 解凍する Jenkins 指定されたフォルダにファイルを保存します。以下のスクリーンショットに示すように、exeファイルを実行します。
ステップ3) Jenkins ウィンドウをクリックします 次へ
ステップ4) 以下を行うには、 インストールを開始する 最後にボタン。
ステップ5) インストールが完了したら、 Jenkins ブラウザウィンドウのダッシュボード(デフォルトではhttp://localhost:8080)
ステップ6) 以下を行うには、 新しいアイテム CI ジョブを作成するためのリンク。
ステップ7) 次のスクリーンショットに示すように、Maven プロジェクトのラジオ ボタンを選択します。
ビルドの使用 Maven プロジェクト オプション、 Jenkins Mavenプロジェクトのビルドとテストをサポートします。
ステップ8) 「OK」ボタンをクリックします。「WebdriverTest」という名前の新しいジョブが作成されます。 Jenkins ダッシュボード。
ステップ9) に行く 管理 Jenkins => システムの構成 次のスクリーンショットに示すように。
JDK インストールをクリックし、次のスクリーンショットのように JDK を構成します。
ステップ10) に行きます 建設 新しい仕事のセクション。
- ルートPOM テキストボックスに、pom.xmlへの完全なパスを入力してください。
- 「目標とオプション」のセクションに「クリーンテスト」と入力します。
ステップ11) 以下を行うには、 Apply
ステップ12) WebdriverTest プロジェクト ページで、 今すぐビルド リンクをクリックします。
Maven がプロジェクトをビルドします。そうすれば、 TestNG テストケースを実行します。
ステップ13) ビルドプロセスが完了すると、 Jenkins ダッシュボードをクリック ウェブドライバーテスト プロジェクト。
ステップ14) WebdriverTest プロジェクト ページには、次のスクリーンショットに示すように、ビルド履歴と結果へのリンクが表示されます。
ステップ15) 「最新のテスト結果」リンクをクリックすると、次のスクリーンショットに示すようにテスト結果が表示されます。
ステップ16) 特定のビルドを選択すると、クリックすると現在のステータスが表示されます。コンソール出力"
スケジュール管理 Jenkins 自動実行用
ビルドのスケジュール設定(Selenium テスト)は、 Jenkins定義された基準に基づいてビルドを自動的にトリガーします。 Jenkins ビルドトリガー構成では、ビルドプロセスをトリガーするための複数の方法が提供されます。
具体的な例を挙げますと、以下の通りです。
次のスクリーンショットに示すように、スケジュールテキストボックスに0 23 * * *と入力します。これにより、ビルドプロセスが毎日午後11時にトリガーされます。
使い方 Jenkins Mavenなし
純粋な TestNG スクリプトイン Jenkinsビルドに以下を入力してください。
D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG テスト
- 保存ボタンをクリックしてください。
- 注:上記のコマンドには、libフォルダとbinフォルダの実際のパスを追加する必要があります。
- コマンドを保存した後、 Jenkins 事前に定義された時間にプロジェクトをビルドし、このコマンドは以下を使用して実行されます TestNG.
- 結果はカスタムHTMLレポートファイルに保存され、メールで送信できます。 Jenkins 構成。
- コードの出力は以下のようになります。
使用することの利点 Jenkins
- 早期の問題発見 – ソフトウェア開発の初期段階でバグを検出できる。
- 自動統合 – すべての変更を統合するために別途作業を行う必要はありません。
- インストーラー – 開発のどの段階でも利用可能な、展開可能なシステム。
- 記録 – 過去の製造記録が保管されています。
- サポートとプラグイン – 理由の 1 つは Jenkinsの人気は、大規模なコミュニティによるサポートが受けられる点にあります。また、機能を拡張するのに役立つ既製のプラグインも多数用意されています。




































