パイプラインを使用してJenkins Seleniumテストを起動する方法

最終更新日 2019年3月19日 — Continuous Testing 上級

 

JenkinsはオープンソースのJavaソフトウェアシステムであり、 継続的なソフトウェア統合 プロセス。Apache Tomcatなどのサーブレットコンテナで動作するサーバーベースのシステムです。Jenkinsはバージョン管理ツール(Gitなど)をサポートし、Apache Ant、Apache Maven、sbtベースのプロジェクトだけでなく、任意のシェル/Windowsバッチスクリプトやコマンドも実行できます。大規模システムの開発には、 継続的な展開プロセス 製品の新しいバージョンをテストする。この問題を解決するために、JenkinsのSeleniumPipelineを使用します。

Jenkins Selenium Pipelineは、Jenkinsへの継続的デリバリーの統合をサポートするプラグインスイートです。言い換えれば、複数のジョブを含むスクリプトであり、特定の条件が満たされるたびに実行されます。Pipelineの使い方の例を見てみましょう。詳細はこちら Digital.ai Continuous Testing 統合、外観 こちら.

私たちのタスクは、Mavenパブリックテストリポジトリへのプッシュごとに自動的に起動されるパイプラインを作成することです。このリポジトリには、Selenium Webdriverを使用して記述されたUI自動テストを含むMavenプロジェクトが格納されます。

Jenkins パイプラインはコードの変更を受け取り、プロジェクトをビルドし、簡単な自動テストを実行します。

ステップで:

1) ダウンロード ジェンキンス

2) インストーラーの指示に従って、推奨パラメータでインストールします。(重要: Jenkins はインターネットにアクセスできる別のマシンにインストールすることをお勧めします。インスタンスをリポジトリに接続する必要があります。ただし、デモでは、Ngrok ツール経由でアクセスできるローカルの Jenkins プロジェクトを使用できます(この記事でもこれを使用します)。

3) インストールが完了したら、「新しいジョブを作成」ボタンをクリックします。

ようこそ - Jenkins パイプライン

4) 次に、「パイプライン」セクションを選択し、ジョブ名を入力します。「OK」をクリックします。

アイテム名 - Jenkins パイプライン

5) その後、パイプラインセクションに移動し、次のパラメータを設定します。

a) 定義 = 「SCMからのパイプラインスクリプト」

ビルドトリガー - Jenkins パイプライン

b) SCM = 「Git」

ビルドトリガー - Jenkins パイプライン

6) リポジトリを設定します。ここで、スクリプトパス欄はデフォルトで「Jenkinsfile」に設定されています。これは、Jenkinsパイプラインが実行するすべてのタスクの説明を含むファイルスクリプトの名前です。このファイルは、デフォルトでリポジトリのルートに配置する必要があります。Jenkinsfileの作成と設定については後で説明しますので、ここではSeleniumテスト用のリポジトリとプロジェクトを準備します。今は「保存」ボタンをクリックしてください。

パイプライン - Jenkins パイプライン

7) 自動テストのスクリプトはページにアクセスします https://experitest.com/free-trial/ このページのタイトルを確認すると、「TEST PASSED」または「TEST FAILED」というメッセージが表示されます。 クロームドライバー (NAIST) と インテリジェントIDEA IDE の場合は、必要に応じてダウンロードしてインストールしてください。

8) IDEで標準のMavenプロジェクトを作成し、Jenkins Seleniumインスタンスがインストールされている場所にchromedriver.exeを配置します。私の場合は、 コードを見るにはここをクリックしてください.

  [java] package com.test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Selenium { public static void main(String[] args) { System.setProperty(“webdriver.chrome.driver”,”F:\Jenkins\workspace\chromedriver.exe”); // <– このパスを変更します WebDriver driver = new ChromeDriver(); String baseUrl = “https://experitest.com/free-trial/”; String expectedTitle = “Free trial”; String actualTitle = “”; driver.get(baseUrl); actualTitle = driver.getTitle(); if (actualTitle.contentEquals(expectedTitle)){ System.out.println(“TEST PASSED!”); } else { System.out.println(“TEST FAILED”); } driver.close(); } } [/java]

9) テストが動作することを確認するために、ローカルで起動します。IDEAインターフェースの右下隅にある組み込みターミナルを開き、以下のコマンドを入力します。

Java - Jenkins パイプライン

a) mvn clean install – このコマンドを実行すると、フォルダー /target が作成され、その中にファイル com.test-1.0-SNAPSHOT.jar が作成されます。

b) java -jar {ローカル プロジェクトへのパス}comtesttargetcom.test-1.0-SNAPSHOT.jar – このコマンドはテストを起動します。

スクリーンショットで結果を確認してください。

Java - Jenkins パイプライン

10) プロジェクトの準備ができたので、テストリポジトリのルートに配置します。同じ場所にJenkinsfileを作成します。以下のようになります。

セレン - Jenkins パイプライン

11) ではJenkinsfileの内容について議論してみましょう。 そのコードはここで見ることができます.

ここに:

a) node { } – スクリプトのラッパーのようなもの。この内部で、スクリプトは複数のステージに分割されます。

b) ステージ(「SCM チェックアウト」) – リポジトリから更新を受信する準備段階。

c) ステージ (「ビルド」) - メイン ステージ。このステージでは、Jenkins は上記のコンソールからローカルで実行したのと同じ手順を実行します。

d) dir (“comtest”) – 特定のフォルダー内で動作します。

e) sh “mvn clean install” – シェルコマンドを実行します。

12) このステップでは、Jenkins パイプラインを手動で起動して、動作を確認できます。

パイプライン - Jenkins パイプライン

パイプラインの作業結果は、実体テキストの形式で、または段階的に確認できます。

「コンソール出力」オプション:

コンソール - Jenkins パイプライン

「パイプラインステップ」オプション:

手順 - Jenkins パイプライン

しかし、私たちの目標は自動テスト用のJenkinsパイプラインを作るだけでなく、その起動を自動化することです。さあ、始めましょう。

13) GitLabとの統合に必要なプラグインをインストールします。次のセクションに進みます:Jenkins=>Jenkinsの管理=>プラグインの管理

管理 - Jenkins パイプライン

次に「利用可能」タブを選択し、検索フィールドに「gitlab」と入力します。必要なプラグインをインストールし、Jenkinsを再起動します。

利用可能 - Jenkins パイプライン

14) アップデートが完了したら、設定に戻ります。Jenkins の「Configure System」に進みます。

a) プラグインに Gitlab リポジトリを追加します。

Jenkins=>システムの設定へ移動

GitLab - Jenkins パイプライン

注: ここではパブリック リポジトリを使用する必要があるため、資格情報を指定しないでください。

b) 有効なJenkins URLがあるかどうかを確認します。Jenkins Pipelineのインスタンスを別のマシンにインストールした場合は、この手順はスキップしてください。私のようにローカルマシンを使用した場合は、「Jenkins URL」フィールドに「localhost」と表示されます。

場所 - Jenkins パイプライン

この場合、GitLabがインターネット経由でアクセスできるURLを取得する必要があります。先ほど述べたように、これを行う簡単な方法があります。 グローク.

このツールの簡単な手順に従って、テスト Jenkins が配置されている URL を取得します。

テスト用のJenkinsがあるURLを取得する

このアドレスを Jenkins URL フィールドに入力し、すべての変更を保存します。

このアドレスをJenkins URLフィールドに入力します

15) GitLabの設定に移動します:GitLab=>プロジェクト=>設定=>統合。Jenkins CI Webhookを設定する必要があります。次のリンクをクリックしてください。

GitLab=>プロジェクト=>設定=>統合

Jenkins CI との統合設定は次のようになります。

Jenkins CIとの統合設定

16) GitLab Webhook を使用するように Jenkins パイプライン (pipeline_selenium1) の設定を更新します。

GitLab Webhook を使用するための Jenkins Pipeline (pipeline_selenium1)

17) これで完了です。リポジトリに何かをプッシュして、Jenkins で何が起こるか確認してみましょう。

パイプライン Selenium 1 - Jenkins パイプライン

Jenkinsパイプラインのリリースをまとめる

ご覧のとおり、Jenkins パイプラインを簡単に作成できます。このパイプラインは、Selenium の自動テストを人間の介入なしに実行します。また、このパイプラインではあらゆる準備作業を自動化できます。Jenkinsfile の構文について詳しくは、パイプライン構文のリンク(最後のスクリーンショットを参照)をご覧ください。

このブログに興味をお持ちの方は、 Digital.ai Continuous Testing スケーラブルなWebと モバイルテスト.

お勧めの関連ガジェット