web-dev-qa-db-ja.com

Jenkinsにデプロイ時にSelenium WebDriver / TestNG / Javaテストを自動的に実行させる方法と、Mavenがこれをどう処理するか

私はこれをかなりの数時間研究してきましたが、全体像の一部しか見つけていません。どこでも、読者はすでにシステムの一部をセットアップしていると想定しています。

全体をまとめるのに必要な部品の全体像を説明しておくと便利だと思います。

彼らは皆、「あなたのMaven Seleniumテストを使う」などと言います。

編集:いくつかの調査の後、MavenをJenkinsとコンピューターにインストールし、Eclipse用のmavenプラグインをインストールし、プロジェクトをMavenプロジェクトとして作成/変換する必要があることがわかりました。 JavenでMavenプロジェクトを転送するにはどうすればよいですか? .jarにエクスポートしますか、それともサーバー上のフォルダー全体を移動しますか? xvfbで全体を接続するにはどうすればよいですか?

ここに私がこれまで知っていることを示します

  1. Jenkinsをインストールします(サーバーに既にあります)
  2. Jenkinsのプラグインをインストールします(どれですか?)
  3. テストがヘッドレスブラウザーで実行されるようにxvfbをインストールします(Java writtenテスト?
  4. コンピューター、jenkins、EclipseにMavenをインストールし、mavenプロジェクトを使用します。
  5. Eclipseワークプレースのプロジェクトフォルダーのどの部分をサーバーにアップロードする必要がありますか? testng.xmlファイルといくつかのクラス(実際のテスト)があります。
  6. 展開後にJenkinsにSelenium Webdriverテストを自動的に実行するように指示するにはどうすればよいですか?また、どのファイルを指すのですか?
  7. レポートを取得する方法-TestNgまたはJenkins機能を使用して?
34
J. K.

あなたのリストに従って、応答:
Q1。 Jenkinsをインストールします(サーバーに既にあります)
A1。必要ありません。

Q2。 Jenkinsのプラグインをインストールします(どれですか?)
A2。私が覚えている限り、この目的のために特定のプラグインは必要ありません。 Jenkinsはmavenまたはantジョブを実行できる必要があります。すぐに使用できます。

Q3。テストがヘッドレスブラウザーで実行されるようにxvfbをインストールします(Java writtenテスト?
A3。 Javaテストでは、ブラウザーを起動するホスト(より厳密には、Seleniumサーバーを実行するホスト)を指定します。通常は「localhost」ですが、この場合は異なる(通常、同じボックスでjenkinsとSeleniumを実行することはお勧めできません)。そのため、Javaコードで、xvfbとSeleniumグリッド(ポートをリッスンするホスト)デフォルトで4444)。この情報をコード(プロパティファイル、さらにpomファイル内の変数、またはjenkinsから提供されたもの)から除外することもお勧めです。

Q4。コンピューター、jenkins、EclipseにMavenをインストールし、mavenプロジェクトを使用します。
A4。 Mavenはjenkinsホスト(およびテストの開発に使用するローカルマシン)にインストールする必要があります。

Q5。 Eclipseワークプレースのプロジェクトフォルダーのどの部分をサーバーにアップロードする必要がありますか? testng.xmlファイルといくつかのクラス(実際のテスト)があります。
A5。コードはバージョン管理下に置かれているので(右?)、ジェンキンスをポイントしてプロジェクトをフェッチします(コードのコンパイル、テストのコンパイル、テストの実行...)。答えは「少なくともテストをコンパイルして実行するために必要なすべてのコード」です。 Jenkins buildsソースおよびテスト実行からのプロジェクトは、このプロセスの単なるフェーズです。

Q6。展開後にJenkinsにSelenium Webdriverテストを自動的に実行するように指示するにはどうすればよいですか?また、どのファイルを指すのですか?
A6。 surefireプラグインが提供する「統合テスト」フェーズを使用します。

Q7。レポートを取得する方法-TestNgまたはJenkins機能を使用して?
A7。 Jenkinsは、testngによって生成されたレポートを表示します(このように設定されている場合は配布します)。

12
patrungel

WebDriverプロジェクトをMavenプロジェクトおよびjenkinsの設定を試みます。多くのチュートリアルを経てインターネットに投稿する必要がありました。だから私は自分のことを書き留めます。これが役立つかどうか教えてください
http://qtp-help.blogspot.in/2013/09/webdriver-with-maven.html

5
Gaurang Shah

Jenkinsにデプロイするたびにビルドを実行するように指示する場合は、Jenkinsプロジェクトで次の設定を行います。

Jenkins Build Settings

この方法で、Jenkinsに15分ごとにリポジトリの更新を確認し、更新が見つかった場合、Jenkinsはビルドを自動的に実行します。必要に応じて時間を柔軟に変更できます。

0
Postavshik