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