Jenkins によるテスト
Jenkins の継続的インテグレーション・プロセスの一環として、ローカル・ファイル・システム、ALM、または ALM ラボ管理から OpenText Functional Testing テストを実行します。
OpenText Functional Testing テストを実行するには、Jenkins フリースタイル・プロジェクトまたはパイプラインのいずれかを使用できます。このトピックでは、OpenText Functional Testing を Jenkins と統合して OpenText Functional Testing テストを実行する方法について説明します。
Jenkins サーバのセットアップ
OpenText Functional Testing テストを実行するように Jenkins サーバをセットアップします。
-
Jenkins と OpenText Application Automation Tools プラグインをインストールします。詳細については、Jenkins プラグインのページを参照してください。
-
Jenkins サーバのホームページで、[New Item]をクリックするか、既存のアイテムを選択します。
-
開いたページで、新しいジョブのアイテム名を入力し、[Freestyle project]または[Pipeline]を選択して、[OK]をクリックします。
サポートされているパイプライン・ジョブ・タイプについては、Jenkins プラグインのページを参照してください。
注:
-
プラグインをバージョン 6.8 にアップグレードすると、Jenkins のセキュリティ・ポリシーによって、Jenkins がプラグインのビルド・ステップを削除することがあります。
回避策:OpenText Application Automation Tools プラグイン 6.8 以降を使用して、ビルド・ステップを再作成してください。
-
プラグインをアップグレードまたはダウングレードするときは、常にブラウザのキャッシュをクリアすることをお勧めします。
-
Jenkins ジョブ設定は、OpenText Functional Testing テスト用に定義された記録と実行環境設定よりも常に優先されます。
ジョブの実行ノードの選択
このジョブでテスト実行用に 1 つ以上の実行ノードを選択します。
-
Jenkins ジョブの[General]セクションで、[This project is parameterized]を選択します。
-
[Add Parameter]>[Node]を選択し、次のノード・オプションを入力または定義します。
Name ノード定義の名前を定義します。 Default nodes ジョブが外部プロセスによってトリガされたときに使用するデフォルト・ノードを 1 つ以上選択します。
Possible nodes ジョブを手動で作成するときに使用するノードを 1 つ以上選択します。
ビルド・オプション ビルドをトリガする際のノードの選択方法として、次のいずれかのオプションを選択します。
-
Run next build only if build succeeds
-
Run next build only if build succeeds or is unstable
-
Run next build regardless of build result
-
Allow multi-node selection for concurrent builds:[Execute concurrent builds if necessary]が設定されたジョブの場合に必要です。
設定すると、選択したすべてのノードでビルドが並列実行されます。このジョブを作成する前に、選択したすべてのノードがオンラインであることを確認してください。
-
Disallow multi-node selection when triggering build manually:ビルドをトリガする際にユーザがビルド・ノードを選択できるようにするには、このオプションを選択します。
Node eligibility オフラインまたは一時的にオフラインのノードの処理方法を選択します。
- All Nodes:オンライン/オフラインの状態に関わらず、選択したすべてのノードでジョブをトリガします。
- Ignore Offline Nodes:テストの実行に利用可能な OpenText Functional Testing インスタンスがあるオンラインのノードでのみジョブをトリガします。
- Ignore Temp Offline Nodes:現在オフラインとしてマークされているノードを除く、選択したすべてのノードでジョブをトリガします。
Description ノード設定の説明を定義します。 -
注: 失敗シナリオを設定する場合、ここで設定するノードと、失敗シナリオで選択するノードが一致する必要があります。
詳細については、テスト実行の失敗シナリオの設定を参照してください。
ヒント: OpenText Application Automation Tools プラグインは、ジョブのノードを定義するためのさまざまな方法をサポートしています。このトピックでは、最も一般的に使用される、推奨手順の 1 つについて説明します。
詳細については、Jenkins プラグインのページで「Create an execution node」を参照してください。
続いて、次のいずれの手順に進みます。
Jenkins タスクにおけるデータ・セキュリティ
このセクションでは、Jenkins ビルドのセキュリティを保護するために提供されるセキュリティ・メカニズムと、データを保護するために使用できるいくつかのプラクティスについて説明します。
Jenkins ビルドのセキュリティ保護
フリースタイルまたはパイプライン・ジョブのビルド・プロセス中に、Jenkins サーバで定義した資格情報やテストのデータが誤って公開される場合があります。このようなリスクを防ぐために、Jenkins 用の OpenText Application Automation Tools プラグインでは、キーを使用して、ビルド・プロセスでテストに含まれる機密データのセキュリティを保護します。
プラグイン・バージョン | 資格情報とシークレットのセキュリティを確保する方法 |
---|---|
バージョン 7.4 より前 | すべての実行ノードで、暗号化と復号化の両方に共通の共有キーが使用されます。 |
バージョン 7.4 以降 |
パブリック・キーとプライベート・キーのペアが、ビルド・プロセス中に各実行ノードで機密データを暗号化および復号化するために使用され、サーバ上の 256 ビットのキー暗号化キーが、ノード上のすべてのプライベート・キーを暗号化します。このメカニズムにより、セキュリティが向上します。 |
パブリック・キーとプライベート・キーのペアとキー暗号化キーは両方とも、プラグインのインストール時に自動的に生成されます。しかし、予期せず公開された場合は、いつでも再生成できます。
-
ノードのパブリック・キーとプライベート・キーのペアを再生成するには、次の手順を実行します。
-
[Manage Jenkins]>[Manage Nodes and Clouds]で、ノードを選択してクリックします。
-
ノードの詳細ページの左側のメニューで、[Configure]をクリックします。次に、設定ページで、[Encryption for UFT sensitive data]オプションの選択を解除します。
次回、このノードでジョブを実行すると、パブリック・キーとプライベート・キーのペアが再生成されます。
-
-
サーバのキー暗号化キーを再生成するには、次の手順を実行します。
-
Jenkins サーバの Jenkins インストール・ディレクトリに移動します。
-
com.microfocus.application.automation.tools.settings.UFTEncryptionGlobalConfiguration.xml ファイルを削除します。
-
ジョブを実行するすべてのノードでパブリック・キーとプライベート・キーのペアを再生成します。詳細については、Jenkins によるテストを参照してください。
注: ビルド中に無効なキー・サイズのエラーが発生した場合は、Jenkins サーバが、AES 暗号化で任意のキー・サイズを暗黙的に許可しない Java バージョンで実行されているかどうかを確認してください。この動作は、特定のセキュリティ・ポリシーをアップグレードすることで変更できます。
-
データ・セキュリティ・プラクティス:テスト実行結果のパスワードのエンコード
Jenkins ビルドのテスト実行結果は、Jenkins UI の[Console Output]、[Test Result]、[UFT Report]に表示されます。
OpenText Application Automation Tools プラグイン・バージョン 7.6 以降では、テスト実行結果の Password パラメータの値を難読化できます。これにより、データのセキュリティが確保され、権限のない人物にパスワードが見られるのを防ぐことができます。
-
[Console Output]および[Test Result]ページでパスワードをエンコードするには、次の手順を実行します。
Jenkins UI で Password タイプの GUI テスト・パラメータを指定する場合は、これらのパラメータが OpenText Functional Testingでもパスワード・タイプとして定義されていることを確認します。
-
[UFT Report]ページでパスワードをエンコードするには、次の手順を実行します。
-
Jenkins UI で Password タイプの GUI テスト・パラメータを指定する前に、パスワード・エンコーダ・ツールを使用してパラメータ値をエンコードします。
-
その後、エンコードした値をパラメータ・テーブルに入力します。
パスワード・エンコーダ・ツールの使用方法については、パスワード・エンコーダを参照してください。
-
セキュリティ上の注意
機密情報は暗号化およびエンコードされますが、OpenText では、Jenkins ジョブによって生成された不要なファイルを定期的に削除することをお勧めします。これらのファイルが Jenkins OpenText Application Automation Tools プラグインによって削除されることはありません。
これらは、<Jenkins_installdir>\workspace\<ジョブ名> フォルダにあるファイルです。
ファイルを削除しない場合、システムのセキュリティ・リスクが増大する可能性があります。お客様は、関連するすべてのリスクを引き受け、OpenText を免責することに同意するものとします。
お客様側の規制およびビジネス要件の評価は、常にお客様の責任になります。OpenText は、OpenText の製品がお客様のビジネスを遂行する上でお客様に適用される特定の法的基準または規制基準に準拠していることを表明も保証もしません。
その他の参照項目: