0

Jenkins+Maven2+TestNG のセットアップがあります。自動化されたテスト スイート (機能テスト) をパラメーター化されたビルドとして実行するためのプラットフォームとして使用します。

各テスト スイートには、テストの開始前にユーザーが設定するいくつかの (~10 ~ 20) パラメーターがあります。これらのパラメーターは、テスト スイートごとに異なります。

現在、Jenkins で各テスト スイートのパラメーターを定義し、それらを ( <systemPropertyVariables>surefire プラグイン プロパティとして) Maven2 に提供し、テストで使用しますSystem.properties[ '<param_name>' ](私たち (私たちのチーム) はテストに Groovy を使用しています)。

私たちのテストの数が増えるにつれて、この方法ではますます醜い pom.xml が作成されます。テストで構築された大きなテスト フレームワーク コードベースがあるため、単一の pom.xml を使用します。

今、私はこの方法を別の方法に変えたいと思っています。どれが正確かわかりません。アイデアを教えてください。

pom.xml の観点から、「単一パラメーター」の方法でパラメーターの受け渡しを実装したい:

  1. Jenkins のユーザー設定パラメーター (現在と同じパラメーター: param1=value1、param2=value2 など)
  2. ユーザーが [ビルド] ボタンをクリックすると、Jenkins は追加の手順を実行して、すべてのパラメーターを単一のファイル (csv、xml、など)/json/string ("param1=value1;param2=value2") に変換します。
  3. Jenkins は、この新しい集約パラメーターParamを Maven への新しい 1 つの一般的なパラメーターとして提供します (つまり、Jenkins 集約の後: Param="param1=value1;param2=value2"、surefire config: 内<generalParam>${Param}</generalParam>) 。
  4. (異なる) テストはこれを解析しParamてパラメーター リストにし、通常どおりパラメーターを使用します。

Jenkins でそのような動作を実装する方法を教えてください。

前もって感謝します!

4

0 に答える 0