このセクションの内容:

はじめに

Message Responder は、仮想アセットがリクエストを受信したときに送信する必要があるレスポンスを決定するツールです。仮想アセットは、複数の Message Responder をホストできます。一連の応答条件に基づいて、特定の要求に特定のメッセージを送信するようにレスポンダーを構成できます。さまざまなリクエスト/レスポンスのユースケースを、手動で構成することも、データソース、エラー状態、遅延などに基づいて自動化することもできます。

Virtualize デスクトップは、さまざまな種類の Message Responder をサポートしていますが (Virtualization のツール を参照)、CTP は現在 Literal Message Responder および Sequence Message Responder をサポートしています。この機能は、1 つまたは一連のリテラル メッセージを指定することで設定可能な新規 Message Responder をすばやく作成する方法を提供します。より高度な機能を利用するには、.pva ファイルをデスクトップ版の Virtualize で開いてください。

Message Responder の追加

このセクションでは、Message Responder を追加して、共通設定を構成する方法を説明します。

  1. 新し Message Responder を追加する .pva またはレスポンダー スイートを選択します。
  2. アクション メニューの [Literal Message Responder の追加] または [Add Sequence Message Responder] をクリックします。
     
  3. (任意) 新しく作成されるツールの名前を変更します。
  4. (任意) 仮想アセットが複数のデータソースに関連付けられている場合は、[データソース] ドロップダウンメニューから、応答に使用するデータソースを選択します。データソースには、レスポンダーをパラメータライズするために使用されるデータがあります。データソースの詳細については「データ ソースおよびデータ バンクの値を使用したパラメータライズ」を参照してください。
  5. (オプション) 応答コードとメッセージを構成します。デフォルトでは、 200 コードと OK メッセージが使用されますが、どちらかのフィールドをクリックして新しいメッセージを入力できます。 
    • 一般的な応答コードがステータスフィールドに入力されると、メッセージ フィールドに標準メッセージが自動的に入力されます。
    • このメッセージはユーザーが上書きできます。
    • [ステータス] フィールドの値が削除されると、デフォルトの 200 ステータス コードが使用されます。[メッセージ] フィールドは必須ではありません。
  6. (オプション) [応答] に HTTP ヘッダーを追加します。
    1. [追加] をクリックします。
    2. ヘッダー名 (大文字/小文字は区別されません) および値を指定します。テーブル モードまたはリテラル モードのいずれかで値を入力できます。

      リテラルの例:

      テーブルの例:
  7. ペイロードのフォーマット、コンテンツ タイプ、入力モードを選択します。詳細については「Configuring Literal Message Responders」または「Configuring Sequence Message Responders」を参照してください。
  8. レスポンダー応答条件の構成」の説明に従って応答条件を設定します。
  9. (任意) リクエスト メッセージ テンプレートを指定します。このテンプレートは、Virtualize で XPath パラメーターを生成する際 (たとえばデータ ソース応答条件およびレスポンダー応答条件のメッセージ リクエスト XPath ダイアログや、複数レスポンス XPath ダイアログなど)、期待されるレスポンスを自動的に設定するために使用されます。
    • トラフィック ログから Message Responder を作成する場合は、リクエスト メッセージ テンプレートが自動的に生成されます。トラフィック ログから検出された最大のリクエスト メッセージがテンプレートとして使用されます。
    • トラフィック ログから Message Responder を作成しない場合は、テンプレートは空です。この場合、リテラル エディターまたは XML エディターを使用して (設定するレスポンス メッセージに関連するサンプル リクエスト メッセージをコピーするなどの方法で)、手動でリクエスト メッセージ テンプレートを変更できます。詳細およびヒントについては、「XML メッセージの編集」を参照してください。
    • リクエスト メッセージ テンプレートが空の場合、XPath ビルダーから最初に値を選択したときにテンプレートが更新されます (「XPath の指定」の説明を参照)。
    • 完成したリクエスト メッセージ テンプレートは、デスクトップ版 Virtualize のメッセージ レスポンダーから利用可能な XPath 編集機能でビューを設定する際に使用されます。デスクトップ版 Virtualize で、Message Responder にリクエスト出力として XML Data Bank および XML Transformer 出力を連結した場合も、テンプレートが使用されます。

  10. 新しいツール構成を保存します。

選択されたレスポンダー スイートの末尾に新しいレスポンダーが追加されます。

Literal Message Responder の構成

Literal Message Responder は、最も一般的なタイプのレスポンダーです。Literal Message Responder はすばやく簡単にレスポンス メッセージを入力できます。各レスポンダーは、レスポンダー応答条件に一致する受信リクエストのメッセージにレスポンスします。レスポンスは、単一の固定メッセージからデータ ソースを使用したパラメータライズされた動的メッセージまで、さまざまなモードに設定できます。 

  1. Adding a Message Responder」の説明にしたがって、Literal Responder を追加し、共通設定を構成します。
  2. [レスポンス] セクションで適切なフォーマットを設定します。以下のフォーマットを選択できます。
    • JSON
    • XML
    • Form URL Encoded
    • その他 (リテラル テキスト メッセージの場合、このオプションを選択します)
    • シーケンス レスポンス[シーケンス レスポンス] を選択する場合、レスポンス構成および使用方法の詳細については、「Sequence Message Responder の構成」を参照してください。   
  3. [コンテンツ タイプ] ドロップダウン メニューからメディア タイプを選択します。利用可能なコンテンツ タイプは、選択されたフォーマットによって異なります。
  4. [入力モード] ドロップダウン メニューから入力モードを選択します。利用可能な入力モードは、選択されたコンテンツ タイプによって異なります。
  5. シーケンス レスポンス以外のフォーマットでは、リテラル テキスト エディター、JSON エディター、または XML エディターでペイロードを指定します (詳細については「JSON メッセージの編集」および「XML メッセージの編集」を参照してください)。


    変数の使用

    Virtualize/SOAtest と同様に、${var_name} という標準的な表記法を使用して、レスポンダー スイートに定義された変数とデータ ソースの値を参照できます。フィールドにドル記号と中括弧 (${) を入力し始めると、使用可能な変数がツールチップに表示されます。

    詳細については「変数の操作」を参照してください。

    JSON フィールドには、数値またはブール フィールドをパラメータライズするための特別な表記が必要です。 

    ${number:<value>} または ${boolean:<value>}

    たとえば、Count 列の数値をパラメータライズするには、${number:Count} を使用します。

  6. (任意) リクエスト URL テンプレートを指定します。テスト対象アプリケーションが処理する (従ってレスポンダーがシミュレートする必要がある) 典型的/代表的な URL を入力します。トラフィック ウィザードからレスポンスを作成する場合、このフィールドには、レスポンダーに対応するトラフィック中のいずれかのリクエストの URL が設定されています。 

    ここで指定された値を使用して、レスポンダー応答条件およびデータ ソース応答条件の URL パスおよび URL パラメーター応答条件が設定されます。

  7. 変更を保存します。

受信リクエストがレスポンダーに構成された応答条件に一致する場合、CTP は指定されたフォーマットで構成されたレスポンスを送信します。   

Sequence Message Responder の構成 

Sequence Message Responder を使用すると、リテラル レスポンス メッセージのシーケンスを構成できます。構成内の最初のメッセージからレスポンダーが呼び出されるたびに、個別のメッセージが送信されます。デフォルトでは、すべてのメッセージ レスポンスが処理されると、レスポンダーは最初のメッセージにループバックします。各メッセージ レスポンダーは、そのレスポンス応答条件に一致した着信リクエスト メッセージに応答します。レスポンスは、簡単な固定メッセージから、データ ソースを使用する動的なパラメータライズ メッセージまで、さまざまなモードで構成できます。 

  1. Adding a Message Responder」の説明にしたがって、Sequence Message を追加し、共通設定を構成します。
  2. アクション メニューの [Add Sequence Response] をクリックします。
  3. レスポンスの名前を指定し、レスポンス メッセージを構成します。レスポンスは、親レスポンダーからレスポンダー ステータスおよびトランスポート ヘッダーを継承しますが、[Override responder status] および [レスポンダーのトランスポート ヘッダーを上書きする] オプションをオンにして、別の値を指定することもできます (詳細はステップ 5 と 6 および「メッセージ レスポンダーの追加」を参照してください)。
  4. レスポンスのメッセージ フォーマットをを選択します。以下のフォーマットを選択できます。

    • JSON
    • XML
    • Form URL Encoded
    • その他 (リテラル テキスト メッセージの場合、このオプションを選択します)
  5. [コンテンツ タイプ] ドロップダウン メニューからメディア タイプを選択します。利用可能なコンテンツ タイプは、選択されたフォーマットによって異なります。
  6. [入力モード] ドロップダウン メニューから入力モードを選択します。利用可能な入力モードは、選択されたコンテンツ タイプによって異なります。
  7. エディター、JSON エディター、または XML エディターでレスポンス ペイロードを指定します (詳細については「JSON メッセージの編集」および「XML メッセージの編集」を参照してください)。


    変数の使用

    Virtualize/SOAtest と同様に、${var_name} という標準的な表記法を使用して、レスポンダー スイートに定義された変数とデータ ソースの値を参照できます。フィールドにドル記号と中括弧 (${) を入力し始めると、使用可能な変数がツールチップに表示されます。

    詳細については「変数の操作」を参照してください。

    JSON フィールドには、数値またはブール フィールドをパラメータライズするための特別な表記が必要です。 

    ${number:<value>} または ${boolean:<value>}

    たとえば、Count 列の数値をパラメータライズするには、${number:Count} を使用します。

  8. [保存] をクリックしてレスポンスを追加します。  

  9. ステップ 2 から 8 を繰り返し、シナリオに必要なレスポンスをすべて作成します。
  10. すべてのレスポンスを追加したら、親フォルダーをクリックし、レスポンスをクリックしてドラッグすることで、必要に応じてレスポンスの順序を変更できます。  
  11. 変更を保存します。

応答条件に一致する一連のリクエストが PVA に送信されると、CTP は最初のレスポンスから、指定された順序でレスポンスを送信します。Sequence Responder は状態を維持するため、PVA に次のリクエストが到着するたびに、構成された次のレスポンスが送信されます。ステータスをリセットするには、アセットに何らかの変更を行って保存し、再デプロイします。  

  • No labels