Kafka アクティビティによるテスト
関連:API テスト
このトピックでは、API テストに Kafka アクティビティを追加し設定する方法について説明します。
概要
OpenText Functional Testing のネイティブの API テスト機能を使用して、Kafka サーバをテストします。
Kafka アクティビティを使用すると、Kafka サーバの主要な API 機能をテストできます。これらのアクティビティを OpenText Functional Testing で使用して、トピックへのメッセージのパブリッシュ、トピックからのメッセージの消費または削除などのプロセスを含む、Kafka のデータ交換プロセスを検証できます。
Kafka アクティビティは互いに依存しません。1 つまたは複数のアクティビティを、テストの目的に役立つように追加し設定できます。
前提条件
OpenText Functional Testing で Kafka アクティビティを追加する前に、次の手順を実行します。
-
Kafka サーバ(Kafka ブローカ)をセットアップする必要があります。
-
Kafka サーバが認証に SSL または Kerberos を使用している場合は、テスト用の認証設定を構成します。
認証モード 設定方法 SSL 認証 - API テストを作成するか、既存の API テストを開きます。
- キャンバスで[開始]ノードを右クリックし、[プロパティ]を選択します。
-
[プロパティ]表示枠の[テストの設定]
タブの[Kafka SSL]で、次の SSL 設定を構成します。
-
SSL を有効にする:[Yes]を選択します。
業界でトップクラスの信頼性がある証明機関から CA 証明書が発行されている場合にのみ、このフィールドを設定してください。
-
CA 証明書のパス:オプション。CA 証明書ファイルのパスです。
-
クライアントのパブリック・キー証明書のパス:オプション。パブリック・キー証明書ファイルのパスです。サーバがクライアント認証を必要とする場合、これは必須です。
-
クライアントのプライベート・キーのパス:オプション。プライベート・キー証明書ファイルのパスです。サーバがクライアント認証を必要とする場合、これは必須です。
-
Kerberos 認証
- API テストを作成するか、既存の API テストを開きます。
- キャンバスで[開始]ノードを右クリックし、[プロパティ]を選択します。
-
[プロパティ]表示枠の[テストの設定]
タブの[Kafka SASL]で、次の SASL 設定を構成します。
-
SASL を有効にする:[Yes]を選択します。
-
メカニズム:認証の実行に使用されるメカニズム。次のオプションを選択します。
GSSAPI:Kerberos V5 を使用して認証するセキュリティ・メカニズム。
-
サービス名:Kafka サーバ名。
-
注: OpenText Functional Testing は、Windows 上でのみ、Kerberos 認証を使用する Kafka サーバのテストをサポートします。
以前のバージョンのテストの実行
2022 より前の OpenText Functional Testing バージョンで作成したテストを OpenText Functional Testing で実行する場合:
SSL 認証を設定してテストを実行する前に、次の手順を実行します。
-
<Installdir>\bin フォルダにある UFT.exe.config ファイルを開きます。
-
そのファイルの <appSettings> セクションに、次の行を追加します。
<add key="ValidateWithSchema" value="false"/>
メッセージを Kafka トピックにパブリッシュ
このアクティビティでは、Kafka トピックのパーティションにメッセージをパブリッシュできます。
このプロセスでは、OpenText Functional Testing はプロデューサとして機能し、Kafka サーバ上の正しいトピックの正しいパーティションにメッセージを正常に送信できるかどうかをテストします。
メッセージを Kafka トピックにパブリッシュするには
- API テストを作成するか、既存の API テストを開き、[ツールボックス]>[標準アクティビティ]の[Kafka]ノードで Kafka アクティビティを展開します。
-
[メッセージをKafkaトピックにパブリッシュ]アクティビティを[ツールボックス]表示枠からキャンバスのテスト・フローにドラッグします。
-
[プロパティ]表示枠の[入力/チェックポイント]
タブで、アクティビティ・プロパティを設定します。
Kafka サーバでホストされている既存のトピックの名前または新しい名前を入力できます。新しい名前を入力すると、このアクティビティが正常に実行された後で、1 つのパーティション(パーティション 0)のみを持つ新しいトピックが Kafka サーバに作成されます。
注: [パーティション]パラメータを空のままにすると、標準設定値が使用されます。つまり、OpenText Functional Testing は指定されたメッセージをパーティション 0 に送信します。このパラメータを負の値に設定すると、メッセージはトピック上の使用可能な任意のパーティションに送信されます。
- 必要に応じて、このアクティビティを検証するチェックポイントを追加します。
Kafka トピックからメッセージを受信
このアクティビティでは、指定したトピックから、同じグループ内の他のコンシューマによって消費されていないすべてのメッセージをフェッチできます。
このプロセスでは、OpenText Functional Testing はコンシューマとして機能します。コンシューマ・グループ内の他のコンシューマによって消費されていないメッセージを OpenText Functional Testing で取得するには、コンシューマ・グループ ID を指定する必要があります。
Kafka トピックからメッセージを受信するには
- API テストを作成するか、既存の API テストを開き、[ツールボックス]>[標準アクティビティ]の[Kafka]ノードで Kafka アクティビティを展開します。
-
[Kafkaトピックからメッセージを受信]アクティビティを[ツールボックス]表示枠からキャンバスのテスト・フローにドラッグします。
-
[プロパティ]表示枠の[入力/チェックポイント]
タブで、アクティビティ・プロパティを設定します。
[グループ ID]は、テストシナリオに応じて任意の値に設定できます。同じメッセージをトピックから再度受信する場合は、グループ ID を変更することを忘れないでください。
- 必要に応じて、このアクティビティを検証するチェックポイントを追加します。
特定のオフセット/パーティションからメッセージを受信
このアクティビティでは、定義したオフセットで特定のパーティションからメッセージをフェッチできます。
このプロセスでは、OpenText Functional Testing はコンシューマとして機能し、常に新しいコンシューマ・グループ ID を使用して、Kafka サーバ上の指定されたオフセットからメッセージを取得します。
特定のオフセット/パーティションからメッセージを受信するには
-
API テストを作成するか、既存の API テストを開き、[ツールボックス]>[標準アクティビティ]の[Kafka]ノードで Kafka アクティビティを展開します。
-
[特定のパーティション/オフセットからメッセージを受信]アクティビティを[ツールボックス]表示枠からキャンバスのテスト・フローにドラッグします。
-
[プロパティ]表示枠の[入力/チェックポイント]
タブで、アクティビティ・プロパティを設定します。
注: [パーティション]および[オフセット]パラメータを空のままにすると、標準設定値が使用されます。つまり、OpenText Functional Testing はパーティション 0 からオフセット 0 でメッセージを取得します。
- 必要に応じて、このアクティビティを検証するチェックポイントを追加します。
特定のオフセット/パーティション以降のメッセージを受信
このアクティビティでは、特定のパーティション内の定義されたオフセットから始まるすべてのメッセージをフェッチできます。
このプロセスでは、OpenText Functional Testing はコンシューマとして機能し、常に新しいコンシューマ・グループ ID を使用して、Kafka サーバで上の定義されたオフセットから始まるすべてのメッセージを取得します。
特定のパーティション/オフセット以降のメッセージを受信するには
-
API テストを作成するか、既存の API テストを開き、[ツールボックス]>[標準アクティビティ]の[Kafka]ノードで Kafka アクティビティを展開します。
-
[特定のパーティション/オフセット以降のメッセージを受信]アクティビティを[ツールボックス]表示枠からキャンバスのテスト・フローにドラッグします。
-
[プロパティ]表示枠の[入力/チェックポイント]
タブで、アクティビティ・プロパティを設定します。
注: [パーティション]および[オフセット]パラメータを空のままにすると、標準設定値が使用されます。つまり、OpenText Functional Testing は、オフセット 0 でパーティション 0 から始まるすべてのメッセージを取得します。
- 必要に応じて、このアクティビティを検証するチェックポイントを追加します。
Kafka トピックからすべてのメッセージを受信
このアクティビティでは、Kafka トピックからすべてのメッセージをフェッチできます。
このプロセスでは、OpenText Functional Testing はコンシューマとして機能し、常に新しいコンシューマ・グループ ID を使用して、Kafka サーバ上の指定されたトピックからすべてのメッセージを取得します。
トピックからすべてのメッセージを受信するには
-
API テストを作成するか、既存の API テストを開き、[ツールボックス]>[標準アクティビティ]の[Kafka]ノードで Kafka アクティビティを展開します。
-
[トピックからすべてのメッセージを受信]アクティビティを[ツールボックス]表示枠からキャンバスのテスト・フローにドラッグします。
-
[プロパティ]表示枠の[入力/チェックポイント]
タブで、アクティビティ・プロパティを設定します。
- 必要に応じて、このアクティビティを検証するチェックポイントを追加します。
オフセット/パーティションからメッセージを削除
このアクティビティでは、パーティション内の指定されたオフセットよりも小さいオフセットにあるすべてのメッセージを削除できます。このアクティビティが正常に実行された場合、削除したメッセージを後で復元することはできません。
オフセット/パーティションからメッセージを削除するには
-
API テストを作成するか、既存の API テストを開き、[ツールボックス]>[標準アクティビティ]の[Kafka]ノードで Kafka アクティビティを展開します。
-
[パーティション/オフセットからメッセージを削除]アクティビティを[ツールボックス]表示枠からキャンバスのテスト・フローにドラッグします。
-
[プロパティ]表示枠の[入力/チェックポイント]
タブで、アクティビティ・プロパティを設定します。
注: [パーティション]および[オフセット]パラメータを空のままにすると、標準設定値が使用されます。オフセット 0 が最小のオフセットであるため、メッセージは削除されません。
- 必要に応じて、このアクティビティを検証するチェックポイントを追加します。