SELENIUM Continuous Integration with JENKINS using GIT
この記事では、Selenium Continuous Integration(End to End Integration)with Jenkinsの完全なガイドを維持しようとしています。 これは、GitHubを使用してJenkins、Maven、およびTestNGとの継続的な統合を実装するためのガイドです。 CI環境に統合できる多くのツールとテクニックがあります。 ここでは、Selenium WebDriver、Java、TestNG、Mavenを使用しており、これらをJenkinsと統合しています。 継続的な統合を実装するには、以下の9つの手順に従ってください。
- 1. 継続的インテグレーションとは
- 2. Mavenとは
- 3. EclipseでのMavenプロジェクトのビルド
- 4. GITとは何ですか
- 5. ジェンキンスとは
- 6. Jenkinsのインストール
- 7. Mavenプロジェクト用のJenkinsの設定
- 8. JenkinsでGITプラグインを設定する
- 9. JenkinsからMavenプロジェクトを実行する
継続的統合とは何ですか
継続的統合はCIと略されます。 継続的な統合は、ソフトウェアの正確性を確認することを目的とした開発慣行です。 各コミットの後、一連のテストが自動的に実行され、ソフトウェアをテストして、ソフトウェアが中断せずに実行されているかどうかを確認します。 テストが失敗した場合は、”ビルドが壊れています”とすぐにフィードバックが得られます。
簡単に言えば、継続的な統合は、ソフトウェアの正しさを検証するプロセスです。
継続的な統合ツールのいくつかは、Jenkins、TeamCity、Bamboo、Travis、CircleCi、Bitbucket、CruiseControl
Maven
Mavenであり、「知識の蓄積」を意味するイディッシュ語です。 Mavenは、主にJavaプロジェクトで使用されるビルド自動化ツールです。 それはソフトウェアを構築するのに役立ち、ソフトウェアの構築方法を説明し、その依存関係を説明します。 JavaライブラリとMavenプラグインは、Maven2Central Repositoryなどの1つ以上のリポジトリから動的にダウンロードされ、ローカルキャッシュに格納されます。 Seleniumでmavenをビルドツールまたはプロジェクト管理ツールとして使用します。 これは、すべてのプロジェクトの依存関係を管理し、簡単なビルドプロセスを確保するのに役立ちます。
Mavenの主な目的は次のとおりです:
- ビルドプロセスを容易にする
- 統一されたビルドシステムを提供する
- 品質の高いプロジェクト情報を提供する
- ベストプラクティス開発のためのガイドラインを提供する
- 新機能への透過的な移行を可能にする
これまで、継続的な統合とは何か、Mavenとは何かを学びました。 あなたのシステムに座って、実装しようとしている場合は、以下の9つのステップを実装し始めましょう。
ステップ1: Eclipse IDEを開き、mavenプロジェクトの構築を開始します
EclipseでのMavenプロジェクトのビルド
EclipseでのMavenプロジェクトのインストール:
ステップ2:EclipseにMavenをインストールする:このリンクを確認してください
だから、今私たちはEclipseにmavenをインストールしました。 それでは、JenkinsでMavenプロジェクトを作成しましょう。
JenkinsでのMavenプロジェクトの作成:
ステップ3:Eclipseで新しいMavenプロジェクトを作成する–以下の手順に従ってください
3.1プロジェクトを作成するには–パッケージエクスプローラを右クリックし、New–Other
TestNGが既にインストールされていることを確認します。 これをチェックして「EclipseにTestNGをインストールする方法」を確認し、「TestNG Complete Tutorial」のこのリンクをチェックしてください”
Mavenプロジェクトを選択し、次へをクリックします
“単純なプロジェクトを作成”チェックボックスを選択し、次へをクリ下の画像は
3.2 pomを設定します。ビルドプロセスに他のプラグインjarを含めるために自動的に作成されたxmlファイル。 下の画像に示すように、Mavenプロジェクトのルートにあります。Mavenプロジェクトでは、POMファイルを使用して必要な依存関係を追加します。 Pomをダブルクリックします。xmlファイルとpomをクリックします。xmlタブ
以下のmaven依存関係(SeleniumとTestNG)を追加して、mavenがプロジェクトに必要なjarをダウンロードできるようにします。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
< 依存関係>
<!–セレン–>
< 依存関係>
< groupId>org.セレナセレン</groupId>
<artifactId>selenium-java</artifactId>
<バージョン>2.53.1</バージョン>
</依存関係>
<!–テスト–>
<依存関係>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<1970年6月に発売された。8</>
<スコープ>テスト</スコープ>
</依存関係>
</依存関係>
|
3.3 依存関係にTestNG jarを追加すると、プロジェクトでTestNGが有効になります。
TestNGクラスを作成し、testngを生成します。xmlファイル。 この手順を実行するには、以下のリンクを確認してください。
TestNGクラスを作成し、testngを生成する方法。xmlファイル
以下のコードをコピーしてNewTestクラスに配置します
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package tests;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
public class NewTest {
public WebDriver driver;
@Test
public void openMyBlog() {
driver.get(“https://www.softwaretestingmaterial.com/”);
}
@beforeclass
public void beforeClass(){
システム。setProperty(“webdriver.ヤモリドライバー”、”D:\\Selenium\\Drivers\\geckodriver…..exe”);
ドライバ=新しいFirefoxDriver();
}
@AfterClass
public void afterClass(){
ドライバ。終了();
}
}
|
testng。xml:testng.xmlファイルは以下のようになります。 コピーしてtestngに配置します。xml
1
2
3
4
5
6
7
8
|
<?xml version=”1.0″ encoding=”UTF-8″?>
<suite name=”Suite” parallel=”false”>
<test name=”Test”>
<classes>
<class name=”tests.NewTest”/>
</classes>
</test> <!–テスト–>
</スイート><!–スイート–>
|
testngを使用してプロジェクトを実行するには。xmlを右クリックし、”testng”をクリックします。3.4pomに’maven-compiler-plugin’と’maven-surefire-plugin’を追加します。pomを使用してプロジェクトを実行するxmlファイル
。xmlでは、pomにいくつかのエントリを追加する必要があります。xmlファイル。 ‘Maven-compiler-plugin’と’maven-surefire-plugin’
pomを追加する必要があります。xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
<project xmlns=”http://maven.apache.org/POM/4.0.0″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>
<modelVersion>4.0.0</>
<groupId>mavenPackage</groupId>
<artifactId>MavenProject</artifactId>
<バージョン>0.0.1-スナップショット</バージョン>
<依存関係>
<!–セレン–>
<依存関係>
<groupId>org.セレニウム———–セレン</groupId>
<artifactId>selenium-java</artifactId>
<バージョン>2.53。1</>
</依存関係>
<!–テスト–>
<依存関係>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<バージョン>6.8</バージョン>
<スコープ>テスト</スコープ>
</依存関係>
</依存関係>
<ビルド>
<プラグイン>
<プラグイン>
<groupId>org.アパッチマビノギだよ。プラグイン</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<バージョン>3.6.1</バージョン>
<設定>
<ソース>1.8</ソース>
<ターゲット>1.8</ターゲット>
</設定>
</プラグイン>
<プラグイン>
<groupId>org.アパッチマビノギだよ。plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
<!– <suiteXmlFile>src/main/resources/testng.xml</suiteXmlFile> –>
</suiteXmlFiles>
</設定>
</プラグイン>
</プラグイン>
</ビルド>
</プロジェクト>
|
注:ビルドプロセスでは、Mavenプロジェクトがビルドされ、ベースのtestngが実行されます。Mavenテスト中のxml。 Mavenをセットアップし、対応するすべてのjarをダウンロードしたら、プロジェクトを右クリックしてrun–Maven Cleanに移動し、install&buildを試してみてください。 Mavenプロジェクトをビルド/クリーン/インストールできる場合は、Mavenを正常にインストール/構成しました。
GITとは何ですか
Gitは、ファイルのセットの変更を追跡するために、今日の世界で最も広く使用されている最新のバージョン管理システムです。 Gitはオープンソースプロジェクトです。 これは、速度、データの整合性、および分散、非線形ワークフローのサポートを目的としています。 これにより、作業をローカルでコミットし、リポジトリのコピーをサーバー上のコピーと同期することができます。
ステップ4: EclipseにGITをインストールし、MavenプロジェクトをGitHubに追加(アップロード)する
ここでは、”EclipseにGitHubをインストールする方法とGitHubにプロジェクトをアップロードする”:
我慢してください。 ビデオはしばらくしてロードされます。
Jenkinsとは
Jenkinsはオープンソースの自動化サーバーです。 プロジェクトの構築、展開、自動化に関連するあらゆる種類のタスクを自動化するために私たちをサポートしています。 クロスプラットフォームであり、Windows、Mac OS、Linuxなどで使用できます。 Seleniumの一部として、これを使用してソフトウェアを継続的に構築およびテストします。 これは、自動テスト実行とスケジュールされたビルドに使用されます。 Jenkinsを使用して、結果を公開し、すべてのチームメンバーに電子メール通知を送信することもできます。 Jenkinsは、ソフトウェア開発のための継続的な統合と継続的な配信サービスを提供します。
ここにJenkinsドキュメントへの公式リンクがあります。
これまでにMavenをインストールし、EclipseでMavenプロジェクトを作成し、EclipseでGITをインストールし、MavenプロジェクトをGitHubにアップロードしました。 また、継続的統合、Maven、GIT、およびJenkinsとは何かを学びました。 次に、Jenkinsをインストールして設定します。
Jenkinsのインストール
ステップ5:Jenkinsのインストール–このリンクを確認してください
以前、Jenkinsのインストールに関する投稿を公開しました。: Mavenプロジェクト用のJenkinsの設定–このリンクを確認してください
以前は、mavenプロジェクト用のJenkinsの設定に関する投稿を公開しましたが、Mavenプロジェクト用のJenkinsの設定に関するこの投稿を参照してください
これまでのところ、EclipseにMavenプロジェクトをインストールして作成し、GitHubにMavenプロジェクトをインストールしてアップロードし、Mavenプロジェクト用にJenkinsをインストールして設定しました。 次に、JenkinsでGITプラグインを設定します。
JenkinsでGITプラグインを設定する
ステップ7:JenkinsでGITプラグインを設定する–以下の手順に従ってください
7.1プラグインの管理–>’Git Plugin’で利用可能なプラグインのリストをフィルタリングするに移動します。
Git Pluginの詳細を読む
7.2Git Pluginをチェックし、”再起動せずにインストール”ボタンをクリックします
下のスクリーンショットでは、私はすでにそれをイ
7.3インストールが完了したら、ブラウザでコマンドを使用してJenkinsを再起動します。 http://localhost:8080/jenkins/restart
Jenkinsを再起動すると、Jenkinsでジョブを設定するときにソースコード管理の下でGitオプションが利用可能になるはずです。
7.ステップ8:JenkinsでMavenプロジェクトを作成し、Gitプロジェクトからジョブをビルドする–以下の手順に従います
JenkinsでGITプラグインを設定しました。 次に、Mavenプロジェクトを作成し、Gitプロジェクトからジョブを構築しましょう
8.1 新しい項目をクリックします–>プロジェクト名を入力します(GitProjectなど)->Freestyle Projectを選択します->OKをクリックします
設定ページにリダイレクトされます。 ソースコード管理タブをクリックします
8.2ソースコード管理で、’Git’オプションを選択します。 (これは、ステップ7.3で行ったGit Pluginを正常にインストールした後に表示されるはずです)。
8.3GitリポジトリURLを指定し(ステップ4–Gitでリポジトリを作成し、GitリポジトリURLをコピーする方法についてのビデオを見て)、資格情報を選択して変更を保存します
Jenkinsは、渡されたリポジトリURLに基づいてリモートGitサーバーからプロジェクトのソースコードを取得します。
8.4ビルドで-ビルドステップの追加をクリックし、トップレベルのMavenターゲットの呼び出しを選択し、目標として’clean install’を渡します。 [詳細設定]ボタンをクリックし、POM値を’pom’として渡します。xml’
注:Gitプラグインの下で、グローバルgitを設定しますuser.name およびユーザー。グローバル設定オプション
に一致する電子メールまた、ビルド後のアクションを渡してレポートを生成することもできます。 TestNG HTMLレポートを生成するには、ビルド後のアクションの追加をクリックしてTestNGレポートの公開を選択し、値を’**/testng-resultsとして渡します。xml’
最後に、保存をクリックします。
Jenkinsで単純なmavenプロジェクトを設定する方法を学ぶ
EclipseでのJenkins継続的統合プロジェクト構造は以下のようになります:
JenkinsからMavenプロジェクトを実行する
ステップ9:JenkinsからMavenプロジェクトを実行する–以下の手順に従ってください
今すぐ実行しましょう。
9.1″今すぐビルド”リンクをクリックします。 それはpomを呼び出します。xml。
9.2 ビルド番号を右クリックし(ここで私の場合は#1です)、コンソール出力をクリックして結果を表示します。
コンソール出力にビルドステータス’Success’が表示されます。
また、ビルドの実行後にJenkinsジョブをスケジュールし、電子メール通知を送信することもできます。
Jenkinsジョブをスケジュールするには:
Jenkinsジョブを開きます-Configure-Build triggers–Build periodicallyチェックボックスを選択し、Cronジョブパターンを入力します
例:毎分ジョブを実行す* * * * *
JenkinsはCronパターンで動作します。 電子メール通知を送信するためのCronジョブパターンの詳細–wikiリンク
Jenkinsの管理–設定–電子メール通知の選択–SMTP構成の設定に移動します。
ビルドが成功または失敗するたびに電子メール通知を受け取ります。
結論:
SeleniumとJenkinsの継続的な統合により、各デプロイメントでスクリプトを実行することができます。 Jenkinsを使用すると、実行履歴とレポートを保存できます。 私はこの記事があなたの目標を達成するためにあなたを助けたことを願っています。 Selenium継続的統合を正常に実装したことを願っています。 ご不明な点がございましたらお気軽にお問い合わせください。
ここでは、次を読むためにいくつかの手摘みの記事があります:
- BrowserStackを使用してSeleniumスクリプトを実行する方法
- クロスブラウザテストツールを学ぶ
- 完全なガイド–GUI自動化ツール–Froglogic Squish
- 最も人気のある–Selenium面接の質問
- TestNG面接の質問