一部のWebサイトでは、セッションID等を使ってユーザがアクセスするたびにURLを変更するダイナミックURLが実装されています。Web Transaction Recorder を使用してトランザクションを記録した場合、次回アクセス時にはURLが変更になっているため、そのままではトランザクションを再現することができません。そこで、記録したURLのどの部分がどのようなルールでダイナミックに変更されるか、詳細なプロパティを設定する必要があります。
例えば、以下のようなURLです。
例1)http://www.dyn.hp.com/12345/index.html
例2)http://www.dyn.hp.com/test?sesssionid=12345&arg=login
上記の例では、「12345」の部分が、動的に変更される部分です。例1では、URLに含まれるディレクトリ名が動的に変更されます。例2では、「sessionid=」というクエリ文字列の引数が動的に変更されます。このどちらの例も、OVISではプロパティの設定で代替規則を作成して対応することが可能です。
通常、このように動的にURLが変更される場合は、その前のステップでWebサイトにアクセスした際にダウンロードしたHTMLファイルの中に、変更される文字列が含まれています。
例えば、以下のような文字列が含まれています。
・・・
<FORM test>
<input type="hidden" name='sessionid' value='8984765'>
・・・
この「value='8984765'」が、置き換えられる文字列を指しています。これを、上の例1のURLに反映させるためには、1度記録された例1のステップを Web Transaction Recorder でダブルクリックして「ステップのプロパティ」を表示させます。そこで「詳細」タブを開き、そこに、以下のような設定を追加します。
DynCmdPattern0=sessionid' value='
DynCmdDelim0='>
DynCmdSubst0=PATH -2

図1
≫拡大画像(新規Window)
ここでは、「DynCmdPattern0=」で指定された文字列「sessionid' value='」をダウンロードされたHTMLファイルから検出し、その次の文字から「DynCmdDelim0=」で指定された文字列である「'>」の直前の文字までを読み込み、「DynCmdSubst0」で指定されたパスの位置(ここでは後ろから2番目のパス位置)を代替します。これにより、例1で記録されたステップ「http://www.dyn.hp.com/12345/index.html」の「12345」が「8984765」に代替され、「http://www.dyn.hp.com/8984765/index.html」になります。
例2の「12345」の部分を代替するには、以下のように「ステップのプロパティ」に記述します。
DynCmdPattern1=sessionid' value='
DynCmdDelim1='>
DynCmdSubst1=QUERY sessionid

図2
≫拡大画像(新規Window)
これにより、例2のクエリ文字列の「sessionid=」の引数である「12345」が「8984765」に代替され、新しいパスは
「http://www.dyn.hp.com/test?sessionid=8984765&arg=login」に代わります。
このように、プロパティの設定を行うことで、ダイナミックURLのサイトも監視対象にすることが可能になります。 |