このセクションでは、[パラメータライズされたメッセージを生成] ウィザードの [メッセージ グループ化の確認] ページでグループ化条件をカスタマイズする方法を説明します。
このセクションの内容:
グループ化のカスタマイズ: 概要
グループ化条件をカスタマイズするには、次の操作を行います。
[グループ化条件] ダイアログを開きます ( [追加] または [複製] をクリックするか、既存のグループ化条件のエントリをダブルクリックします)。
必要に応じて、生成されるテスト クライアント名および/またはデータ セット名をカスタマイズします。
[グループ化条件] タブで、必要に応じてグループ化条件を変更します。グループ化条件エントリごとに、以下を組み合わせてグループ化を指定できます。HTTP メソッド、URL パス、URL パラメーター、および/またはリクエスト ボディ
グループ化手法 説明 HTTP Methods Grouping Configuration Virtualize: メッセージを処理するかどうかを決定する HTTP メソッドを指定します。
SOAtest: HTTP メソッドでメッセージをグループ化します。メソッドが混在するグループ (たとえば POST と GET など) が作成されるのを防ぐため、HTTP メソッド グループ化条件のカスタマイズは、自動的に無効化されます。
URL Paths Grouping Configuration Virtualize: メッセージを処理するかどうかを決定する URL パスを指定します。
SOAtest: URL パスでメッセージをグループ化します。
URL Parameters Grouping Configuration Virtualize: メッセージを処理するかどうかを決定する URL パラメーターを指定します。「特定のパラメーターを含むすべてのメッセージに一致する応答条件 (設定される値は問わない)」、または「特定のパラメーターに特定の値が設定されたメッセージだけに一致する応答条件」を設定できます。正確に一致する URL パラメーターだけがリクエストにある場合に応答条件を適用するかどうかも指定できます。
SOAtest: メッセージを処理するかどうかを決定する URL パラメーターでメッセージをグループ化します。設定された値にかかわらず、特定のパラメーターを持つすべてのメッセージを含めることも、特定のパラメーターに特定の値が設定されているメッセージだけを含めることもできます。また、リクエストが指定された URL パラメーターに完全に一致する (過不足がない) 場合にだけ、メッセージを含める指定を行うこともできます。
Request Body Grouping Configuration Virtualize: メッセージを処理するかどうかを決定するメッセージ内の XPath を指定します。
SOAtest: XPath を使用してメッセージをグループ化します。
検出されたメッセージの詳細を参照するには、[メッセージの詳細] タブを開き、関連するメッセージ ブロックを選択します。
HTTP メソッド グループ化構成
HTTP メソッド グループ化条件は、HTTP/HTTPS でアクセスされるアセットに適用されます。メソッドが混在するグループ (たとえば POST と GET など) が作成されるのを防ぐため、HTTP メソッド グループ化条件のカスタマイズは、自動的に無効化されます。
HTTP メソッドの応答条件を構成するには、以下の操作を行います。
- [応答条件の有効化] チェック ボックスをオンにします。
- 応答条件に使用したい HTTP メソッドを指定します。
たとえば、GET、POST、PUT を指定した場合、レスポンダーはメソッド GET、POST、または PUT がある HTTP リクエストに一致します。 CONNECT、DELETE、HEAD などがある HTTP リクエストには一致しません。
URL パス グループ化の構成
URL パス グループ化条件は、HTTP/HTTPS でアクセスされるアセットに適用されます
URL パスグループ化を構成するには、次の操作を行います。
- [応答条件の有効化] または [グループ化に使用] オプションを有効にします。
応答条件またはグループ化に使用するパスおよびエンドポイントを指定します。
たとえば、エンドポイントまだは仮想アセットが http://myserver:9080/MyAsset/MyPath でデプロイされるものとします。また、グループ化条件として /segment1/segment2/**
というパスが指定されているものとします。
以下の URL はこの応答条件に一致します。
http://myserver:9080/MyAsset/MyPath/segment1/segment2
http://myserver:9080/MyAsset/MyPath/segment1/segment2/
http://myserver:9080/MyAsset/MyPath/segment1/segment2/segment3?param1=value1&m2=value2
以下の URL は一致しません。
http://myserver:9080/MyAsset/MyPath/segment1/
http://myserver:9080/MyAsset/MyPath/segment3/segment1/segment2
Ant スタイルのワイルドカードを使用できます。 * はゼロ個以上の文字に一致し、** はゼロ以上のディレクトリに一致します。たとえば:
/**/abc
は /abc
または /this/that/abc
に一致します。
/abc/**
は /abc
または /abc/this/that/theother
に一致します。
/ab**
は /abc/d
に一致しません (1 個のアスタリスク /ab*
を使用したかのように解釈されます)。/absolutely
には一致します。
/**bc
は /0/abc
に一致しません (1 個のアスタリスク /*bc
を使用したかのように解釈されます)。/abc
には一致します。
例 1: **/service/*
一致 | 一致しません |
---|---|
service/Repository | org/web/service/foo/bar/Entries |
例 2: org/parasoft/virtualize/**
一致 | 一致しません |
---|---|
org/parasoft/virtualize/tools/service org/parasoft/virtualize/stuff | org/parasoft/somethingelse |
例 3: org/parasoft/**/EM/*
一致 | 一致しません |
---|---|
org/parasoft/EM/Entries | org/parasoft/EM/foo/bar/Entries |
URL パラメーターによるグループ化
URL パラメーター グループ化条件は、HTTP/HTTPS でアクセスされるアセットに適用されます。URL パラメーターの応答条件またはグループ化を構成するには、次の操作を行います。
- [応答条件の有効化] または [グループ化に使用] オプションを有効にします。
- リクエストが指定された URL パラメーターに完全に一致する (過不足がない) 場合にだけ応答条件またはグループ化を適用したい場合、[パラメーターのリストが正確に一致する場合にだけ応答条件に一致する] または [パラメーターのリストが正確に一致する場合にだけグループに含める] オプションを有効にします。オフにした場合、表にあるパラメーターに加えて他のパラメーターを持つリクエストも一致します。このオプションが有効でも無効でも、指定されたパラメーターがすべて揃っていないメッセージは一致しません。
- [追加] ボタンをクリックします。新しいエントリ行が表示されます。
- [パラメーター名] を入力します。
- 次のいずれかを実施します。
- このパラメーターが特定の値に設定されているメッセージに一致させたい場合: その値を [値] に入力します。
- 設定されている値にかかわらず、このパラメーターを含むすべてのメッセージに一致させたい場合: [パラメーター名が存在する場合、常に応答条件に一致する (値にかかわらず)] または [パラメーター名が存在する場合、常にグループに含める (値にかかわらず)] を有効にします。
Virtualize の例
仮想アセットが http://myserver:9080/MyAsset/MyPath
というパスにデプロイされ、レスポンダーで次の URL パラメーターが指定されると仮定します。
パラメーター名 | 値 |
---|---|
param1 | value1 |
param2 | value2 |
SOAtest の例
エンドポイントが http://myserver:9080/MyAsset/MyPath
であり、グループ化条件として次の URL パラメーターが指定されていると仮定します。
パラメーター名 | 値 |
---|---|
param1 | value1 |
param2 | value2 |
次のリクエスト URL はこの応答条件またはグループ化条件に一致します。
- http://myserver:9080/MyAsset/MyPath?param1=value1¶m2=value2
- http://myserver:9080/MyAsset/MyPath?param1=value1¶m2=value2¶m3=value3
- http://myserver:9080/MyAsset/MyPath?param2=value2¶m1=value1¶m3=value3
以下の URL は一致しません。
- http://myserver:9080/MyAsset/MyPath?param1=value1¶m2=someothervalue1¶m3=value3
- http://myserver:9080/MyAsset/MyPath?param1=value1&m3=value3
リクエストボディによるグループ化
リクエスト ボディからの XPath 関数に基づいてメッセージの応答条件またはグループ化を構成するには、次の操作を行います。
- [応答条件の有効化] または [グループ化に使用] オプションを有効にします。
- [編集] ボタンをクリックします。[XPath 関数の編集] ダイアログが表示されます。
- 以下のいずれかの操作を行います。
- 要素ツリーから要素を選択し、[関数] ドロップダウン メニューから関数を選択します。受信リクエスト メッセージのツリー表現が表示される場合は、このオプションを使用します。
XPath 式を手動で指定します。ツリー表現が使用できない場合、またはツリーに抽出と評価のための要素または属性が完全に表示されない場合は、このオプションを使用します。応答条件/グループ化のためにサポートされる XPath 表現は、W3C の XPath 1.0 標準に基づきます。
左側のパネルに、リクエストのカテゴリがいくつか表示されている点に注意してください。
- 原型的なリクエスト: トラフィック ファイルの解析中に検出されたメッセージ構造を表す代表的なメッセージです。
- このグループのリクエスト: 現在、条件を編集しているグループに属するメッセージです。グループにメッセージがない場合、これは利用できません。
- すべてのメッセージ: トラフィック ファイルのすべてのメッセージです。