このセクションでは、トラフィック ログにキャプチャされたトラフィックからパラメータライズされたテスト クライアント (SOAP Client、REST Client、EDI Client、Message Responder ツール) を作成する方法の概要を説明します。
このセクションの内容:
コンソール ビューのモニタリング トラフィックからテストおよび/またはメッセージ レスポンダーを作成する際、コンソール ビューを開いておくと役立ちます。コンソール ビューには、トラフィック ファイルの処理中に生成される警告、エラー、および通知メッセージが表示されます。 利用できる作成ウィザードで [トラフィック] > [パラメータライズされたメッセージを生成] を選択します。詳細については次の章を参照してください:「既存のプロジェクトへの新規 .tst ファイルの追加」「新規テスト スイートの追加」 以前にテンプレートに保存した設定グループをウィザードに入力したい場合、テンプレートの場所を入力します。SOAtest でのテンプレートの作成と使用の詳細については「構成テンプレートを使用したウィザード設定の再利用と共有」を、Virtualize でのテンプレートの作成と使用の詳細については「構成テンプレートによるウィザード設定の再利用と共有」を参照してください。 [次へ] をクリックします。 [Parasoft Data Repository Settings] ページで、 テスト クライアントまたはメッセージ レスポンダーのパラメータライズに使用されるデータを格納するデータ リポジトリを指定し、[次へ] をクリックします。 [サーバー] フィールドで、接続するサーバーを指定します (組込みサーバーまたはリモート サーバー)。組込みサーバーを選択した場合、[ポート]、[ユーザー]、[パスワード] フィールドはグレー表示になります。リモート サーバーを選択した場合、[ポート]、[ユーザー]、[パスワード] フィールドは自動的に設定されます。この設定は必要に応じて変更できます。 リポジトリ接続を定義したら、 [検証] をクリックして接続をチェックできます。 ウィザードが終了するまでのリポジトリのロック リモートの (たとえば組込みではない) Data Repository サーバーで作業している場合、ここで指定するリポジトリはウィザードが終了するまでロックされます。「tmp によってロックされています」ではなく「your_username によってロックされています」と表示させたい場合、[ロックのために認証を設定] チェックボックスをオンにし、使用する CTP サーバーの URL を指定します。そして CTP サーバー用のユーザー名とパスワードを指定します。ロックの詳細については「リポジトリのロックおよびロック解除」を参照してください。 [メッセージ形式] および [Grouping Strategy] ページの設定を完了したら、[次へ] をクリックします。 [リクエスト メッセージ形式:] および [レスポンス メッセージ形式:] に正しいフォーマットが設定されていることを確認します。フォーマットが正しくない場合、適切なフォーマットを選択します。 選択されたフォーマット (たとえば EDI やカスタム フォーマット) に対して利用可能な変換オプションを設定するには、フォーマットの右側にある [変換オプション] ボタンをクリックし、任意の変更を加えます。 目的のメッセージ グループ化オプションを指定し、[次へ] をクリックします (詳細については下記枠内の「メッセージ グループ化オプション」を参照してください)。 メッセージ グループ化オプション 以下のオプションを利用できます。 操作/タイプに基づく: 操作またはメッセージ タイプに基づいてメッセージをグループ化します。このオプションが有用なのは、操作によって、あるいはメッセージ タイプ (つまり、SOAP ボディの要素名、プレーン XML メッセージのルート要素、または指定されたメッセージ形式のメッセージ タイプ) によって、明確に特定できるメッセージを持つサービス トラフィックの場合です。トラフィック ファイル中で発見された操作/タイプごとに 1 つのレスポンダーが生成されます。このオプションを選択した場合、トラフィック ファイルの解析に基づいて、Virtualize はグループ化の経験則を適用することを推奨します。ユーザーはあらかじめ選択された経験則を変更できます。経験則の詳細については「 操作/ タイプによるグループ化の経験則」を参照してください。 類似リクエストに基づく: リクエスト メッセージの構造に基づいてメッセージをグループ化します。構造が類似したリクエストに関連するレスポンスを個々のレスポンダーが持つよう、Virtualize はリクエスト メッセージの構造を解析し、リクエスト/レスポンスをグループ化してレスポンダーにします。メッセージは、たとえ値が異なっていても、同一の DOM ツリー モデルを持つ場合に " 類似" と見なされます。このオプションは、各メッセージ レスポンダー内でレスポンスにリクエストを関連付けるための規則を最適化し簡潔にするために使用されます。 類似レスポンスに基づく: レスポンス メッセージの構造に基づいてメッセージをグループ化します。このオプションを選択すると、Virtualize は、レスポンス メッセージの構造を解析し、リクエスト/レスポンスのペアをグループ化してレスポンダーにすることで、個々のレスポンダーが、構造が類似したレスポンスを持つようにします。メッセージは、たとえ値が異なっていても、同一の DOM ツリー モデルを持つ場合に " 類似" と見なされます。 なし: グループ化しない。トラフィック ファイル中のレスポンス メッセージごとにレスポンダーが生成されます。リクエスト/レスポンスのペアごとに個別のメッセージ レスポンダーを用意したい場合、このオプションを使用します。 [メッセージ グループ化の確認] ページで、操作についての情報と検出されたメッセージを確認します。 表示される列の種類は、適用されたグループ化方法によって異なります。 表の各行は、グループを定義するための条件を表します。1 行に対して 1 つのグループが生成されます。そして 1 つのグループに対して 1 つのレスポンダーが生成されます。 応答条件基準は、表に表示されている順番に (上から下に) 処理されます。 URL パスおよびパラメーターは、レコード タイプのフィールドに対応してパラメータライズされます。フィールド名は自動生成され、[データの再利用] ページ (ウィザードの後のページで表示されます) に表示されます。これらのグループがどのように作成されたかについては、「操作/ タイプによるグループ化の経験則」を参照してください。 利用できるコントロールを使って、グループ化条件を追加、変更、並べ替え、および削除することができます。 SOAtest でのグループ化基準の構成の詳細については、「グループ化条件のカスタマイズ 」を参照してください。Virtualize でのグループ化基準の構成の詳細については、「グループ化条件のカスタマイズ 」を参照してください。条件を変更したら、次のページに進む前に必ず [再グループ化] をクリックしてください。 すべての [自動構成] チェック ボックスがオンであり、指定したグループに対してメッセージ レスポンダーを自動的に構成したい場合、次のステップをスキップできます。 以下のいずれかの場合、カスタマイズする各メッセージ グループの [自動構成] チェック ボックスをオフにし、[次へ] をクリックします。そして、「リクエストの照合と応答条件のカスタマイズ」で説明しているようにリクエスト照合を設定します。 仮想アセットのレスポンスメッセージを決定するためにどのパラメーター値を使用する かをカスタマイズしたい場合 自動化されたリクエスト/ レスポンスペアの照合を変更 したい場合 WSDL またはスキーマを指定したい場合 1 つのメッセージ グループ内に複数のリクエストが存在し、パス、パラメーター、またはボディに差異がある場合は通常、自動構成を利用できます。[自動構成] が灰色表示されている場合、そのグループに対して自動構成を利用することはできません。特定のグループがなぜ自動構成できないかについては、その項目のツールチップを参照してください。 WSDL/スキーマを指定する場合、[WSDL/スキーマの構成] をクリックし、次のページで適切な値を指定します。 WSDL またはスキーマを指定するべき場合 WSDL またはスキーマを指定することには次のメリットがあります。 生成されたフォーム入力モデルは指定した WSDL/ スキーマに基づくので、フォーム入力を編集したり保守したりするときに豊富なタイプを利用できます。 サービスの進化や環境条件の変化とユーザーのアセットとを同期しておくために、変更アドバイザーを利用できます (変更アドバイザーについては「変更管理」で説明) 。 生成されたフォーム入力とそのデータ パラメータライズが元のメッセージに一致しない場合、これは「元のメッセージが WSDL/スキーマに完全に一致していないこと」、あるいは「元のメッセージとのマッピングに失敗したこと」を表します。フォーム入力モデルが必ずトラフィック メッセージに完全に一致するよう、WSDL/スキーマを省略してください。 トラフィックファイルの新規データを使って、既存のリポジトリデータセットをどのように拡張あるいは更新するかを指定できます。 置換: 既存データを削除し、新規データを追加します。 追加: 既存のデータを消去せずに新規データを追加します。 一致するデータ (ID によって既存のレコード タイプに一致するデータ) がある場合、既存のレコード タイプを再利用するか、それとも既存レコードを更新するかを指定できます。再利用: 一致する既存のレコードを再利用/共有します。更新: 既存のレコードの対応するフィールドをトラフィックのデータで更新し、新規レコード タイプに対応する新規レコードを追加します。 置換: 既存データを削除し、新規データを追加します。 マージ: 既存データを変更せずに、新規データをインポートします。 更新: 一致するレコードを新規データで更新し、必要に応じて新規レコードを作成します。 上書き: 一致するキーを持つ、一致するレコードを新規データで更新します。新規レコードは作成しません。 SOAtest での ID の指定とデータの再利用/更新オプションの選択の詳細については「データの再利用および更新の構成」を参照してください。 Virtualize については、「データの再利用と更新の設定」を参照してください。 このウィザードで使用した設定を保存したい場合、テンプレートに設定をエクスポートすることができます。[再利用可能なテンプレートに構成データをエクスポート] チェック ボックスをオンにし、ファイル名と保存先を指定します。 (仮想アセットフォルダーで .pva を作成していて、自動デプロイとなる場合) [仮想アセッ トのデプロイ] ウィザード ページで、作成する仮想アセットの名前およびデプロイ パスを指定します。そして [次へ] をクリックします。リストにあるエンド ポイントに仮想アセットがデプロイされます。詳細については「個別の仮想アセットのデプロイメント設定」を参照してください。 (MQ および JMS のみ) 次の SOAtest ウィザード ページで接続設定を指定します。設定は、このトラフィックから作成されるツールに適用されます。詳細については「MQ オプションの設定」および「JMS オプションの構成」を参照してください。 次のアイテムが作成および構成されます。 値がパラメータライズされた 1 つまたはそれ以上のテスト クライアント。メッセージのフォーマットに応じて SOAP Client、REST Client、EDI Client または Messaging Client が作成されます。メッセージが XML または JSON ではなく、パフォーマンスへの影響が予想されるほどメッセージのサイズが大きくない限り、[フォーム入力]/[フォーム JSON] ビューがデフォルトで使用されます。そうでない場合、[リテラル] ビューが使用されます。 要素がパラメータライズされ、レスポンダー応答条件およびデータ ソース応答条件が設定された Message Responder が追加されます。メッセージが XML または JSON ではなく、パフォーマンスへの影響が予想されるほどメッセージのサイズが大きくない限り、[フォーム入力]/[フォーム JSON] ビューがデフォルトで使用されます。そうでない場合、[リテラル] ビューが使用されます。 次の図は、リポジトリの値でパラメータライズされた REST Client の例です。 このパラメータライズされたデータ駆動型 REST Client は、ツール自体を変更する必要もなく、そのままで幅広くさまざまなテスト値を使用して実行できます。ツールを編集するのではなく、関連するデータ リポジトリの値を変更または拡張します。 Virtual Asset フォルダーに .pva が作成された場合、ウィザードが完了すると、仮想アセットは自動的にローカルの Virtualize サーバーにデプロイされます。そうでない場合、ローカル サーバーまたはリモート サーバーに手動でデプロイすることができます。 データ リポジトリに格納されたデータの編集および格納については、「リポジトリ構成とコンテンツの参照/修正」を参照してください。 なお、トラフィック ファイル中に存在する、カスタム トランスポート ヘッダーおよび SOAP ヘッダー (たとえば WS-Security ヘッダー) は、生成されるアセットあるいはデータリポジトリ データ セットに自動的に設定されないので注意してください。それらのヘッダーは、生成されたメッセージ レスポンダーで指定できます。 (詳細については「メッセージ レスポンダーの概要」を参照してください) Virtual Asset フォルダーに .pva が作成された場合、ウィザードが完了すると、仮想アセットは自動的にローカルの Virtualize サーバーにデプロイされます。そうでない場合、ユーザーは準備ができたときにいつでもローカル サーバーまたはリモート サーバーに仮想アセットをデプロイすることができます。 デプロイ手順とオプションの詳細については、「仮想アセットのデプロイ - 概要」を参照してください。 メッセージ レスポンダーの振る舞いをカスタマイズする方法については、「メッセージ レスポンダーの概要」を参照してください。 ウィザードの最後に WSDL ファイルまたはスキーマ ファイルを入力しない場合、Virtualize は記録されたトラフィックのデータ構造を使用してデータ リポジトリを作成します。記録されたトラフィックで要素のデータ構造が異なる場合、おそらくスキーマでのその要素のタイプは choice です。しかし、ウィザードは明示的に choice タイプをサポートしません。ウィザードは、可能性のあるすべての子要素のシーケンスとして要素のデータ構造を解釈します。 たとえば、要素の実際のスキーマが以下であるとします。 Virtualize は以下のデータ構造で要素を表現します。 記録されたトラフィック中で、子要素の順番が異なるケースがあります。たとえば、あるレスポンス メッセージの "parent" では "child1" の後に "child2" があり、別のレスポンスメッセージでは "child2" の後に "child1" がある、といったケースです。しかし、Virtualize はパラメータライズされたメッセージ データを固定の順番でパラメータライズします。したがって、この例の場合、レスポンスメッセージ内で "child1" と "child2" は常に同じ順序で出現します。 以下のセクションでは、ウィザードを完了するのに役立つ詳細情報について説明しています。 以下のセクションでは、ウィザードの入力時に役立つ詳細な情報を説明します。 この動画では、メッセージ プロキシで記録したトラフィックから仮想アセットを作成する方法を学びます。前提条件
ウィザードの使用
SOAtest および Virtualize は、トラフィックファイルの最初のメッセージに基づいて、リクエストおよびレスポンスのメッセージ フォーマットの識別を試みます。1 つのトラフィック ファイルでは、すべてのリクエストが同じフォーマットであり、またすべてのレスポンスも同じフォーマットであることが期待されます。リクエスト フォーマットとレスポンス フォーマットは異なっていてもかまいません。メッセージ フォーマットを検出できなかった場合、プレーン テキストが選択されます。
パネルの上部に表示される項目の詳細 (処理されたペア、処理されなかったペア、グループに一致しないメッセージなど) については、関連するハイパーリンクをクリックしてください。
特定のレスポンダーに関連するメッセージを確認するには、あるいはレスポンダーとデータ セットの名前を変更するには、[カウント] 列で該当行をクリックします。
テンプレートの作成と使用の詳細については、「構成テンプレートによるウィザード設定の再利用と共有」および「SOAtest での構成テンプレートによるウィザード設定の再利用と共有」を参照してください。
次の図は、対応するリポジトリの一部分です。仮想アセットのデプロイ
仮想アセットのカスタマイズ
choice/extension タイプのサポート
<element name=
"parent"
>
<complexType>
<choice minOccurs=
"0"
maxOccurs=
"unbounded"
>
<element name=
"child1"
/>
<element name=
"child2"
/>
<element name=
"child3"
/>
</choice>
</complexType>
</element>
<element name=
"parent"
>
<complexType>
<sequence>
<element name=
"child1"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
<element name=
"child2"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
<element name=
"child3"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
</sequence>
</complexType>
</element>
ウィザードの完了: 詳細情報
SOAtest ウィザードの入力: 詳細
ビデオ チュートリアル: メッセージ プロキシで記録したトラフィックから仮想アセットを作成する