0

自動化された QA テスト ケースは、Jenkins によってスケジュールされ、実行されます。UATSTAGE、およびPRODなどのさまざまな環境でテスト ケースを実行する必要があり(テスト データが異なるため)、これらのテスト ケースはSANITYREGRESSION、およびBATSとして「グループ化」されます。私はそれをビルドして実行するためにmaven + testNG(確実なプラグイン)を使用しています。

これを Jenkins のジョブとして 'BATS in STAGE' として実行するか、'REGRESSION in DEV' などと言う必要があります。

mvn test -Denv=STAGE -Dgroup=SANITY

他のオプションは、Jenkins のシステム変数にパラメーター (env および group) を設定し、そこから移動することです。

しかし、ここの別の投稿で提起されたように、私はいくつかの主要なブロックに直面しています..

テスト用にmavenからJavaコードにパラメーターを渡す方法

これは一般的な要件のように見えますが、以前にこれに対処した人はいますか? 私のアプローチは正しいですか、それを行うより良い方法はありますか?

提案してください。

4

2 に答える 2

1

テスト シナリオ/環境ごとに個別の Maven ビルド プロファイルを作成し、Jenkins で設定されたコマンド ライン パラメーターまたは環境変数に基づいてアクティベーションを設定できます。

編集:

基本的に、各テスト シナリオのプロファイルを作成し、surefire-plugin の包含/除外構成を使用して、どのテストを実行するかを制御します。理想的には、最上位のテスト クラスを介してすべてを実行できるので、呼び出している「グループ」の各セットには、基礎となるテスト スイートを起動する何らかの種類の AllTests.java クラスが含まれます。

   <profile>
    <id>Stage</id>
    <activation>
      <activeByDefault>false</activeByDefault>
    </activation>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.12.4</version>
            <configuration>
              <includes>
            <include>**/Sanity/AllTests.java</include>
              </includes>
            </configuration>
          </plugin>
        </plugins>
  </profile>
于 2012-11-07T01:21:42.730 に答える
0

Buildセクションを使用して「mvn test」を実行していると仮定すると、ここでうまくいきました。OPが言及したのと同じ投稿に行きましたが、このより簡単な方法を見つけました。

(ジョブの Jenkins 構成ページ)

Build
Invoke Maven 3
  Maven Version [<latest version>]
  Root POM      [pom.xml]
  Goals and options [test -Denv=STAGE -Dgroup=SANITY]

以下のように、ビルドをパラメーター化し、オプションのパラメーターを使用することもできます。

Goals and options [test -Denv=$PARAM_ENV -Dgroup=$PARAM_GROUP]
于 2016-01-28T17:33:45.563 に答える