Jenkins を使用した ALM からのテストのトリガ
このトピックでは、ALM に保存されている OpenText Functional Testing テストを実行する方法について説明します。
Jenkins サーバでの ALM 資格情報の定義
Jenkins が ALM に保存されている OpenText Functional Testing テストを実行する際に ALM に接続するために使用する ALM 資格情報を定義します。
次の表では、使用している OpenText Application Automation Tools プラグインのバージョンに応じて、資格情報をどこで定義するかを示しています。
プラグイン・バージョン | ALM の資格情報 |
---|---|
6.3 以前 |
ALM から OpenText Functional Testing テストを実行する各ジョブに資格情報を入力します。 |
6.4 ~ 7.0 |
Jenkins の設定ページで ALM の資格情報をグローバルに定義します([Manage Jenkins]>[Configure System]、[Application Lifecycle Management]セクション)。 複数の ALM サーバの資格情報と、同じ ALM サーバ上の複数のユーザの資格情報を定義できます。 ALM サーバの要件に応じて、ユーザ名とパスワード、またはクライアント ID と API キー・シークレットのいずれかを定義します。 次に、ALM から OpenText Functional Testing テストを実行するジョブで、必要に応じて、設定済みの ALM ユーザ名または ALM クライアント ID から選択します。 |
7.1 以降 |
[Credential Scope]ドロップダウンから、次の資格情報処理モードのいずれかを選択します。
注: Application Automation Tools プラグイン・バージョン 7.1 以降にアップグレードした場合、以前に設定したすべてのジョブで、[System (global) credentials]モードが標準設定で使用されます。 |
ジョブ内で ALM の資格情報を定義し、その後、Application Automation Tools プラグイン・バージョン 6.4 ~ 7.0 にアップグレードした場合:
-
ジョブ内の資格情報を編集することはできませんが、Jenkins はジョブの実行時に引き続きこの資格情報を使用します。
-
既存の Jenkins ジョブで定義された ALM の資格情報を Jenkins のグローバル設定領域に自動的に移動できます。
ビルド後のアクション Migrate ALM Credentials を使用して Jenkins ジョブを作成し、実行します。このジョブを初めて実行すると、ALM の資格情報がすべてのジョブから Jenkins の設定ページに移行されます。2 回目以降は、何の処理も実行されません。
ALM テスト・セットからの OpenText Functional Testing テストの実行
Jenkins を使用して、ALM のテスト・セットからサーバ側の無人機能テストを実行します。ALM テスト・セットを使用すると、特定のテスト目標に従って ALM テスト・ラボ・モジュールでテストの実行を整理できます。
注: ALM からのテスト実行では、並列テストはサポートされていません。
詳細については、ALM ヘルプセンターを参照してください。
ALM からテスト・セット実行をトリガするように Jenkins ビルド・ステップを設定するには
-
フリースタイル・プロジェクトの場合は、Jenkins ジョブで、[Build]セクションまで下にスクロールし、[Add build step]をクリックして、[Execute functional tests from OpenText ALM]を選択します。
注: パイプラインの場合、[Pipeline Syntax]ページで[Sample Step]ドロップダウンから[runFromAlmBuilder]を選択し、スクリプトを生成して、そのスクリプトをパイプライン・スクリプト・ボックスにコピーします。
-
設定済みの ALM サーバの 1 つを選択し、サーバの資格情報、プロジェクト、およびドメインを入力します。
ALM サーバに必要な認証タイプに応じて、資格情報はユーザ名とパスワードか、SSO 認証の場合は API キーになります。
SSO 認証を使用するには、[SSO enabled]を選択し、ALM サイト管理者から取得したクライアント ID と API キー・シークレットを入力します。
詳細については、Jenkins サーバでの ALM 資格情報の定義を参照してください。
注: ALM スケジューラを使用している場合は、Jenkins エージェント・ユーザとして実行されます。
たとえば、Jenkins がシステム・ユーザとして実行されている場合、スケジューラはシステム・ユーザとしてテストを実行します。これはテストの実行には影響しません。
-
ALM パスを使用して、テスト・セット・フォルダ、または含める特定のテスト・セットを追加します。
-
特定のテストを追加するには、テスト・セットパスの後にテスト名を追加します。
-
複数のエントリを追加するには、フィールドの右側にある下矢印をクリックし、各項目を別々の行に入力します。
例:
Root\testfolder1\testset_a
Root\testfolder1\testset_b
Root\testlab_folder
Root\testlab_folder\testset_a\test-name
-
-
(オプション)次のいずれかの方法で、使用するテスト・パラメータを指定します。
[Test sets]領域でテスト・パラメータを指定する
[Test sets]領域で、次の構文を使用します。
<test or test set path> "<parameter name>":"<string value>", "<parameter name>": <number value>
ここで、
-
<test or test set path> は、テストまたはテスト・セットのパスです。
テストを指定すると、指定したパラメータはそのテストにのみ使用されます。
テスト・セットを指定すると、指定したパラメータがそのテスト・セット内のすべてのテストに使用されます。テスト・セットが実行されると、各テストは必要なパラメータを使用し、他のパラメータを無視します。
-
<parameter name> はテスト・パラメータの名前です。
-
<string value> は、パラメータの文字列値を引用符で囲んだものです。
-
<number value> は、引用符なしのパラメータの数値です。
例:
TestSet\ "Country":"US", "Count": 3
TestSet2\ "Country":"UK"
TestFolder\Test1 "Country":"China", "Count": 4
テーブルでテスト・パラメータを指定する
Application Automation Tools プラグイン・バージョン 7.3 以降でサポート
-
[Specify test parameters]を選択します。
-
パラメータ・テーブルで、テスト番号と、パラメータの名前、値、およびタイプを指定します。
テスト番号は、[Test sets]領域で定義されたテストの 1 から始まる順序を表します。テスト番号を定義すると、テスト・パスは読み取り専用モードで自動的に入力されます。
OpenText Functional Testing で定義されているパラメータ名を指定します。
-
[+ PARAMETER]をクリックして、テーブルにさらにパラメータを追加します。
注:
-
テスト・パラメータは、[Test sets]ボックスで指定するのではなく、テーブルで指定することをお勧めします。文字列または数値のパラメータ値のみを指定できる最初の方法は、後方互換性のためにのみサポートされています。
-
設定したパラメータ・タイプが正しいことを確認してください。正しくない場合、パラメータ・タイプの不一致により、テスト実行がエラー・ステータスで失敗する可能性があります。
-
テストに必要なすべてのテスト・パラメータの値を指定するか、パラメータの標準設定値が OpenText Functional Testing または ALM で定義されていることを確認してください。
-
OpenText Application Automation Tools プラグイン・バージョン 7.6 以降:テーブルで、Password タイプの GUI テスト・パラメータを定義できます。テスト実行結果で Password パラメータの値を暗号化する方法については、「テスト実行結果のパスワードのエンコード」を参照してください。
-
-
(オプション)タイムアウトを秒単位で示します。この時間が経過すると、ジョブは失敗します。
-
(オプション)ALM テスト・セットのフィルタを設定し、テスト・セット内のテストの一部のみを実行するように Jenkins に指示します。
[Filter ALM test sets]を選択し、実行するテストを名前またはステータス、あるいはその両方でフィルタリングします。
-
[Run tests with names containing]で、テスト名の中で検索する文字列を指定します。
- [Run tests with status]で、実行するテストのステータスを指定します。たとえば、すでに合格したテストを再実行しない場合は、Passed ステータスを選択から除外します。
-
-
[Advanced]をクリックして、ローカル、リモート、または予定ホストなどの実行モードを示します。
注:
-
リモート・ホスト・モードを指定する場合は、ホスト名も指定します。リモート・ホストは、有効な OpenText Functional Testing がインストールされているマシンである必要があります。
ユーザがマシンに手動でログインして OpenText Functional Testing を起動しなくても、Jenkins がテストを実行できるように OpenText Functional Testing マシンを設定することができます。詳細については、リモート・セッションでの OpenText Functional Testing および OpenText Functional Testing テストの実行を参照してください。
-
機能テスト・セットは、ALM ラボ管理から実行することをお勧めします。ALM から実行する場合、以下の制限があります。
-
機能テスト・セットは、予定ホストでの実行はサポートされていません。
-
各テストの実行結果を取得できるのは、機能テスト・セットをローカルまたはリモート・ホストで実行する場合のみです。
-
-
-
[Apply]をクリックして変更を保存し、ビルド・ステップの追加を続けます。ビルド・ステップの追加が完了したら、[Save]をクリックします。
-
フリースタイル・プロジェクトの場合は、[Post-build Actions]セクションで、[Add post-build action]をクリックし、[Publish OpenText test result]を選択します。
注: パイプラインの場合、[Pipeline Syntax]ページで[Sample Step]ドロップダウンから[publishMicroFocusTestResults]を選択し、スクリプトを生成して、そのスクリプトをパイプライン・スクリプト・ボックスにコピーします。
-
標準の Jenkins ジョブの場合と同じように、ジョブを実行したり、スケジュールを設定したりします。
ALM からテスト実行結果を確認するには
- ダッシュボードでジョブをクリックします。
- [Console Output]リンクをクリックして、ALM の情報を表示します。
- ALM のリンクをブラウザにコピーし、ALM 内からテスト・セットの実行結果を表示します。
その他の参照項目: