Selenium Mavenとの統合と Jenkins

⚡ スマートサマリー

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

  • 📦 Mavenの役割: Maven 3.x は pom.xml を通じて依存関係、ビルドライフサイクル、プラグインを管理し、JAR の手動処理を不要にします。 Selenium プロジェクト。
  • 🔁 Jenkins 役割: Jenkins LTSスケジュール Selenium スイートを管理し、SCMの変更を監視し、コミットごとまたは毎晩のcronジョブで自動回帰テストを実行します。
  • 🚀 パイプライン電力: Mavenと組み合わせることで、 Jenkins, Selenium, TestNG コード変更後数分以内に欠陥を検出する、完全なCI/CDループを形成します。
  • レポート: Surefireのレポートに加えて Jenkins 履歴を作成する 与える tracコンソール出力とHTMLダッシュボードによる、アクセスしやすく共有可能なテスト結果。
  • 🧪 AI強化: 最新のAIプラグインは、影響を受けるテストを優先し、不安定なケースを予測し、 Jenkins フィードバックサイクル内部 Selenium パイプライン。

メイブン& Jenkins との統合 Selenium

何ですか 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プラグインです。

Maven をインストールして使用する TestNG Selenium

ステップ3) 以下を行うには、 次へ ボタンを押してインストールを完了してください。

構成 Eclipse メイビンと

m2eプラグインをインストールしたら、次にMavenプロジェクトを作成する必要があります。

ステップ1) In Eclipse IDE、選択して新しいプロジェクトを作成します File | New | その他 Eclipse メニュー。

ステップ2) ソフトウェア設定ページで、下図のように New ダイアログ、選択 達人 | Maven プロジェクト 「次へ」をクリックします。

Maven をインストールして使用する TestNG Selenium

ステップ3) ソフトウェア設定ページで、下図のように 新しい Maven プロジェクト ダイアログ選択 簡単なプロジェクトを作成する 「次へ」をクリックします。

Maven をインストールして使用する TestNG Selenium

ステップ4) WebdriverTest を入力します グループID: と アーティファクトID: そして「完了」をクリックします。

Maven をインストールして使用する TestNG Selenium

ステップ5) Eclipse 作成します ウェブドライバーテスト 次の構造で:

Maven をインストールして使用する TestNG Seleniuml

ステップ6) 右クリック JREシステムライブラリ 選択 特性 メニューからオプションを選択します。

Maven をインストールして使用する TestNG Selenium

ソフトウェア設定ページで、下図のように JRE システム ライブラリのプロパティ ダイアログボックスで、 ワークスペースのデフォルト JRE が選択されているので、[OK]をクリックします。

Maven をインストールして使用する TestNG Selenium

ステップ7) 選択 pom.xml from プロジェクトエクスプローラー.

Maven をインストールして使用する TestNG Selenium

pom.xmlファイルはエディターセクションで開きます。

Maven をインストールして使用する TestNG Selenium

ステップ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」と入力してください。 名前: テキストボックスをクリックして 仕上げ 次のスクリーンショットに示すようにボタンをクリックします。

Maven をインストールして使用する TestNG Selenium

ステップ10) Eclipse 次のスクリーンショットに示すように、NewTest クラスが作成されます。

Maven をインストールして使用する TestNG Selenium

ステップ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 つのテストのみを実行する必要があると記載されています。 新しいテスト 次のスクリーンショットに示すように:

Maven をインストールして使用する TestNG Selenium

プロジェクトを更新し、ファイルがツリーに表示されていることを確認してください。 パッケージエクスプローラー (プロジェクトを右クリック – 更新)。

Maven をインストールして使用する TestNG Selenium

ステップ13) これでテストを実行する必要があります テスト.

だから、に行く 構成の実行 新しい起動を作成します TestNGプロジェクトを選択し、フィールドを設定します。 スイート as テストそして、「実行」をクリックします。

Maven をインストールして使用する TestNG Selenium

ビルドが正常に完了することを確認してください。

ステップ14) さらに、追加する必要がある

  1. maven コンパイラ プラグイン
  2. maven-surefire-プラグイン
  3. テスト

pom.xmlへ。

maven-surefire-plugin はテストの設定と実行に使用されます。ここでは、このプラグインを使用して testing.xml を設定します。 TestNG テストを行い、テストレポートを生成します。

maven-compiler-plugin は、コードのコンパイルを支援し、コンパイルに特定の JDK バージョンを使用するために使用されます。次のコード スニペットのすべての依存関係を pom.xml に追加します。ノード:

Maven をインストールして使用する TestNG Selenium

ステップ15) Mavenライフサイクルでテストを実行するには、WebdriverTestプロジェクトを右クリックして、 実行者として実行 | Maven テストMavenはプロジェクトからテストを実行します。

Maven をインストールして使用する TestNG Selenium

ビルドが正常に完了することを確認してください。

統合する方法 Jenkins   Selenium webdriver

インストールする手順は次のとおりです Jenkins LTS と設定して、Maven を実行するように構成します。 TestNG Selenium.

設置

ステップ1) に行く https://www.jenkins.io/download/ そして正しいものをダウンロードしてください Jenkins お使いのOS用のLTSパッケージをインストールしてください。 Jenkins.

統合 Jenkins 自律的AI Selenium webdriver

ステップ2) 解凍する Jenkins 指定されたフォルダにファイルを保存します。以下のスクリーンショットに示すように、exeファイルを実行します。

統合 Jenkins 自律的AI Selenium webdriver

ステップ3) Jenkins ウィンドウをクリックします 次へ

統合 Jenkins 自律的AI Selenium webdriver

ステップ4) 以下を行うには、 インストールを開始する 最後にボタン。

統合 Jenkins 自律的AI Selenium webdriver

ステップ5) インストールが完了したら、 Jenkins ブラウザウィンドウのダッシュボード(デフォルトではhttp://localhost:8080)

統合 Jenkins 自律的AI Selenium webdriver

ステップ6) 以下を行うには、 新しいアイテム CI ジョブを作成するためのリンク。

統合 Jenkins 自律的AI Selenium webdriver

ステップ7) 次のスクリーンショットに示すように、Maven プロジェクトのラジオ ボタンを選択します。

統合 Jenkins 自律的AI Selenium webdriver

ビルドの使用 Maven プロジェクト オプション、 Jenkins Mavenプロジェクトのビルドとテストをサポートします。

ステップ8) 「OK」ボタンをクリックします。「WebdriverTest」という名前の新しいジョブが作成されます。 Jenkins ダッシュボード。

統合 Jenkins 自律的AI Selenium webdriver

ステップ9) に行く 管理 Jenkins => システムの構成 次のスクリーンショットに示すように。

統合 Jenkins 自律的AI Selenium webdriver

JDK インストールをクリックし、次のスクリーンショットのように JDK を構成します。

統合 Jenkins 自律的AI Selenium WebDrive

ステップ10) に行きます 建設 新しい仕事のセクション。

  • ルートPOM テキストボックスに、pom.xmlへの完全なパスを入力してください。
  • 「目標とオプション」のセクションに「クリーンテスト」と入力します。

統合 Jenkins 自律的AI Selenium webdriver

ステップ11) 以下を行うには、 Apply

統合 Jenkins 自律的AI Selenium webdriver

ステップ12) WebdriverTest プロジェクト ページで、 今すぐビルド リンクをクリックします。

統合 Jenkins 自律的AI Selenium webdriver

Maven がプロジェクトをビルドします。そうすれば、 TestNG テストケースを実行します。

ステップ13) ビルドプロセスが完了すると、 Jenkins ダッシュボードをクリック ウェブドライバーテスト プロジェクト。

統合 Jenkins 自律的AI Selenium webdriver

ステップ14) WebdriverTest プロジェクト ページには、次のスクリーンショットに示すように、ビルド履歴と結果へのリンクが表示されます。

統合 Jenkins 自律的AI Selenium webdriver

ステップ15) 「最新のテスト結果」リンクをクリックすると、次のスクリーンショットに示すようにテスト結果が表示されます。

統合 Jenkins 自律的AI Selenium webdriver

ステップ16) 特定のビルドを選択すると、クリックすると現在のステータスが表示されます。コンソール出力"

統合 Jenkins 自律的AI Selenium webdriver

スケジュール管理 Jenkins 自動実行用

ビルドのスケジュール設定(Selenium テスト)は、 Jenkins定義された基準に基づいてビルドを自動的にトリガーします。 Jenkins ビルドトリガー構成では、ビルドプロセスをトリガーするための複数の方法が提供されます。

具体的な例を挙げますと、以下の通りです。
次のスクリーンショットに示すように、スケジュールテキストボックスに0 23 * * *と入力します。これにより、ビルドプロセスが毎日午後11時にトリガーされます。

Jenkins 自動実行用

使い方 Jenkins Mavenなし

純粋な TestNG スクリプトイン Jenkinsビルドに以下を入力してください。

D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG テスト

Jenkins 自動実行用

  • 保存ボタンをクリックしてください。
  • 注:上記のコマンドには、libフォルダとbinフォルダの実際のパスを追加する必要があります。
  • コマンドを保存した後、 Jenkins 事前に定義された時間にプロジェクトをビルドし、このコマンドは以下を使用して実行されます TestNG.
  • 結果はカスタムHTMLレポートファイルに保存され、メールで送信できます。 Jenkins 構成。
  • コードの出力は以下のようになります。

Jenkins 自動実行用

使用することの利点 Jenkins

  1. 早期の問題発見 – ソフトウェア開発の初期段階でバグを検出できる。
  2. 自動統合 – すべての変更を統合するために別途作業を行う必要はありません。
  3. インストーラー – 開発のどの段階でも利用可能な、展開可能なシステム。
  4. 記録 – 過去の製造記録が保管されています。
  5. サポートとプラグイン – 理由の 1 つは Jenkinsの人気は、大規模なコミュニティによるサポートが受けられる点にあります。また、機能を拡張するのに役立つ既製のプラグインも多数用意されています。

よくあるご質問

Mavenは依存関係とビルドライフサイクルを管理します。 Selenium ブラウザを駆動し、 Jenkins 実行をオーケストレーションします。これらが連携して、コードのコンパイル、必要な JAR ファイルのダウンロード、実行を行う完全な CI パイプラインを形成します。 Selenium テストを実行し、コミットごとに自動的にレポートを公開します。

依存関係とビルド管理にはMaven 3.xを使用し、 Jenkins 安定した継続的インテグレーションのためのLTS。これらのバージョンは、長期サポート、セキュリティパッチ、および幅広いプラグイン互換性を提供します。 Selenium WebDriver、 TestNGおよびSurefireのレポートプラグイン。

Yes. Jenkins ビルドトリガーセクションでcronスタイルの構文を使用してスケジュールします Selenium スイート。例えば、0 23 * * * は毎晩午後 11 時にスイートを稼働します。 Jenkins SCMポーリングやWebhookイベントに基づいてビルドをトリガーすることもできます。

AI電源 Jenkins プラグインは不安定なテストを予測し、ビルドエージェントを自動調整し、コンソールログの異常を検出します。パイプラインのノイズを減らし、フィードバックを加速し、最適な並列化を提案します。 Selenium テスト数が数千件に増えても、スイートの信頼性は高い。

はい。AIベースのテスト影響分析では、コードの変更が影響を受ける箇所にマッピングされます。 Selenium シナリオを実行し、関連するサブセットのみを実行します。 Jenkinsこれにより、フィードバックサイクルが短縮され、インフラコストが削減され、毎晩のビルドで完全な回帰テストをスケジュールすることで、完全なカバレッジが維持されます。