Maven および Jenkins と Selenium の統合チュートリアル

Selenium のジェンキンスとは何ですか?

Jenkins は、ハドソン研究所によって開発された主要なオープンソースの継続的統合ツールです。クロスプラットフォームであり、次の場所で使用できます。 Windows、Linux、Mac OS、Solaris 環境。 Jenkins は Java で書かれています。 Jenkin の主な用途は、SVN チェックアウト、cron、またはアプリケーションの状態などのジョブを監視することです。ジョブで特定のステップが発生すると、事前設定されたアクションが起動されます。

Jenkins の重要な機能

  • 変更サポート: Jenkins は、SVN などのリポジトリで行われたすべての変更のリストを生成します。
  • 永久リンク: Jenkins は、簡単なコミュニケーションに使用できる最新のビルドまたは失敗したビルドへの直接リンクを提供します。
  • インストール: Jenkins は、直接インストール ファイル (exe) を使用してインストールするか、アプリケーション サーバーを使用してデプロイする war ファイルを使用して簡単にインストールできます。
  • Email 統合: Jenkins は次のように構成できます。mail ビルドのステータスの内容。
  • 簡単な構成: Jenkins 上でさまざまなタスクを設定するのは簡単です。
  • TestNG テスト: Jenkins は自動テスト ビルドを実行するように構成できます。 テスト SVN の各ビルド後。
  • 複数の VM: Jenkins は、ビルドを複数のマシンに分散するように構成できます。
  • プロジェクトのビルド: ジェンキンス氏が文書化tails jar のバージョン、jar のバージョン、ビルド番号と jar 番号のマッピング。
  • プラグイン: 3rd パーティ プラグインは、機能や追加機能を使用するように Jenkins で構成できます。

なぜジェンキンスと Selenium を使用するのか?

  • Jenkins で Selenium テストを実行すると、ソフトウェアが変更されるたびにテストを実行し、テストに合格したときにソフトウェアを新しい環境にデプロイできます。
  • Jenkins では、特定の時間にテストを実行するようにスケジュールを設定できます。
  • 実行履歴やテストレポートを保存できます。
  • Jenkins はビルドと テスト 継続的インテグレーションのプロジェクト。

Selenium の Maven とは何ですか?

Maven は、コンストラクション ディレクトリ、ソース ディレクトリ、依存関係、テスト ソース ディレクトリ、ゴール、プラグインなどの Maven のプロジェクト情報と構成情報を含む POM (プロジェクト オブジェクト モデル) の概念に基づいた強力なプロジェクト/ビルド管理ツールです。 。

Maven と Jenkins を選ぶ理由

Selenium WebDriver はブラウザの自動化に最適です。 ただし、テストやテスト フレームワークの構築に使用すると、力不足に感じます。 Maven と Selenium を統合すると、次のことが可能になります。wing 利点
Apache Maven は、テスト プロジェクトのライフサイクル全体を管理するためのサポートを提供します。

  • Maven は、プロジェクトの構造、依存関係、ビルド、およびテスト管理を定義するために使用されます。
  • pom.xml(Maven) を使用すると、テストの構築とコードの実行に必要な依存関係を構成できます。
  • Maven は、プロジェクトのビルド中に必要なファイルをリポジトリから自動的にダウンロードします。

Maven をインストールし、TestNG Selenium で使用する方法

Maven をインストールし、TestNG Selenium で使用する手順は次のとおりです。

このチュートリアルでは、 Eclipse (Juno) IDE Java 開発者は Selenium WebDriver プロジェクトをセットアップします。さらに、m2を追加する必要がありますeclipse プラグイン Eclipse ビルドプロセスを容易にし、pom.xml ファイルを作成します。
m2を追加しましょうeclipse プラグイン Eclipse フォローしてwing 手順:

ステップ1) In Eclipse IDE、選択 カスタマーサービス | 新しいソフトウェアをインストールする   Eclipse メインメニュー。

ステップ2) [インストール]ダイアログで、URLを入力します。 https://www.eclipse.org/m2e/。 選択する での作業 以下に示すように m2e プラグインwing スクリーンショット:

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

ステップ3) ソフトウェアの制限をクリック Next ボタンを押してインストールを終了します。

構成 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 作成します ウェブドライバーテスト フォローしてwing 構造:

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

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

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

ソフトウェア設定ページで、下図のように JRE システム ライブラリのプロパティ 対話 box、 確認してください ワークスペースのデフォルト JRE が選択されており、「OK」をクリックします

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

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

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

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

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

ステップ8) Selenium、Maven、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」を入力します。 お名前:テキストbox とをクリックしてください 終了 以下に示すボタンwing スクリーンショット:

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

ステップ10). Eclipse 以下に示すように NewTest クラスを作成しますwing スクリーンショット:

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

ステップ11) 以下を追加wing へのコード 新しいテスト クラス:

このコードは、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 を右クリックし、選択します。 テストNG | TestNGに変換.
Eclipse という名前のテストを XNUMX つだけ実行する必要があることを示す testng.xml が作成されます。 新しいテスト 以下に示すようにwing スクリーンショット:

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

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

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

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

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

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

ビルドが正常に完了したことを確認します。

ステップ14)。 さらに、次のことを追加する必要があります。

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

pom.xmlへ.

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

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

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

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

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

ビルドが正常に完了したことを確認します。

Jenkins と Selenium WebDriver を統合する方法

Jenkins をインストールし、TestNg Selenium で Maven を実行するように構成する手順は次のとおりです。

インストール

ステップ1)   http://jenkins-ci.org/ そして、お使いの OS に適したパッケージをダウンロードしてください。 ジェンキンスをインストールします。

Jenkins と Selenium WebDriver の統合

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

Jenkins と Selenium WebDriver の統合

ステップ3) In Jenkins 1.607 セットアップ ウィンドウをクリックします Next

Jenkins と Selenium WebDriver の統合

ステップ4) ソフトウェアの制限をクリック インストールを開始する 最後にボタン。

Jenkins と Selenium WebDriver の統合

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

Jenkins と Selenium WebDriver の統合

ステップ6) セットアップボタンをクリックすると、セットアップが開始されます 新しいアイテム CI ジョブを作成するためのリンク。

Jenkins と Selenium WebDriver の統合

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

Jenkins と Selenium WebDriver の統合

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

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

Jenkins と Selenium WebDriver の統合

ステップ9)   ジェンキンスを管理する => システムの構成 以下に示すようにwing スクリーンショット。

Jenkins と Selenium WebDriver の統合

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

Jenkins と Selenium WebDrive の統合

ステップ10) に行きます 完成に向けてあなたの背中を押してくれる、執筆のための持続可能で本物のモーメンタムを作り出す。 新しい仕事のセクション。

  • ルートPOM 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. box、pom.xml へのフルパスを入力します
  • 「目標とオプション」セクションに「クリーンテスト」と入力します。
  • Jenkins と Selenium WebDriver の統合

ステップ11) ソフトウェアの制限をクリック 申し込む

Jenkins と Selenium WebDriver の統合

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

Jenkins と Selenium WebDriver の統合

Maven がプロジェクトをビルドします。 次に、TestNG にテスト ケースを実行させます。

ステップ13) ビルドプロセスが完了したら、Jenkins ダッシュボードで ウェブドライバーテスト プロジェクト

Jenkins と Selenium WebDriver の統合

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

Jenkins と Selenium WebDriver の統合

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

Jenkins と Selenium WebDriver の統合

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

Jenkins と Selenium WebDriver の統合

Jenkins を自動実行するようスケジュール設定します。

ビルド (Selenium テスト) のスケジュール設定は、定義された基準に基づいてビルドを自動的にトリガーする Jenkins の重要な機能の XNUMX つです。 Jenkins には、ビルド トリガー構成でビルド プロセスをトリガーする複数の方法が用意されています。

例:
スケジュールテキストに「0 23 * * *」と入力します。box 以下に示すようにwing スクリーンショット。 これにより、毎日午後 11 時にビルド プロセスがトリガーされます。

自動実行のための Jenkins

Maven を使用しない Jenkings の使用

Jenkins で純粋な TestNg スクリプトを実行するには、次のように入力します。wing ビルド中

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

自動実行のための Jenkins

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

自動実行のための Jenkins

Jenkins を使用する利点

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