データ形式拡張機能(DFE)の概要

データ形式拡張機能(DFE)のサポートにより,クライアントとサーバ間で交換されるフォーマットされたデータのデコードおよびエンコード機能を提供することで,Web アプリケーションのスクリプトをより簡単に作成できます。その結果,生成された仮想ユーザ・スクリプトの相関およびパラメータ化が容易になります。

適用対象:

  • Web - HTTP/HTML 仮想ユーザ・スクリプト

  • SAP - Web 仮想ユーザ・スクリプトのデバッグ

このトピックの内容:

DFE を使用する場合

仮想ユーザ・スクリプトを記録すると,VuGen はクライアントと Web サーバ間の HTTP 要求および応答を記録します。HTTP 要求および応答に含まれるデータは通常エンコードされます。たとえば,データの一部はバイナリ形式の場合があります。エンコードされたデータは,HTTP クエリ文字列,ヘッダ,本文,クッキーに含まれる場合があります。エンコードされたデータを仮想ユーザ・スクリプトに含めた場合,そのスクリプトには解読が困難なデータが含まれることになります。その結果,パラメータ化や相関で使用できるテキスト文字列の識別が困難になります。

LoadRunner Professional は,データ形式拡張機能(DFE)を使用して,仮想ユーザ・スクリプトに含まれるエンコードされたデータを起因とする困難性を解決します。DFE のサポートにより,クライアントとサーバ間で交換されるエンコード化データをデコードする機能を提供することで,仮想ユーザ・スクリプトをより簡単に作成できます。デコードされたデータ形式を提供することにより,可読形式で仮想ユーザ・スクリプトの情報が表示されるため,必要に応じてスクリプトの相関およびパラメータ化を実行できます。スクリプトを再生すると,DFE のサポートにより変更済みの仮想ユーザ・スクリプトが再びエンコードされます。そのため,仮想ユーザが正しくエンコードされた要求をサーバに送信できるようになります。

仮想ユーザ・スクリプトに DFE を適用してスクリプトが再び生成されると,DFE はスクリプトを変更し,エンコードしたデータをデコードしたデータと置換します。

LoadRunner Professional には,事前に定義された DFE が数多く含まれています。各 DFE は,特定のタイプのデータをエンコードおよびデコードできます。たとえば,「GWT-DFE」 は,スクリプトの生成時に GWT データを XML 形式にデコードし,スクリプトの再生前に XML 形式データを GWT 形式データにエンコードします(「GWT-DFE サポートを使用しておよび使用せずに生成されたコードの例」を参照)。

事前に定義された DFE の完全なリストについては,「データ形式拡張機能リスト」を参照してください。

先頭に戻る

DFE が適用される仕組み

エンコードされたデータをデコードする必要がある場合にそれぞれの仮想ユーザ・スクリプトに対して DFE サポートを有効にします。DFE サポートを有効にすると,次の場合に DFE サポートが適用されます。

  • スクリプトの生成(記録後)または再生成時。データをデコードするために DFE が適用され,簡単に理解し,使用できるスクリプトが生成されます。

  • スクリプトの実行時。デコードされたデータを再エンコードするのに DFE が適用され,サーバが対応可能な形式でエンコードされたデータを含む HTTP メッセージが生成されます。

注: スクリプトの生成または再生時の DFE の適用に加え,仮想ユーザ・スクリプト内の選択した文字列に DFE を適用することもできます。詳細については,「DFE による仮想ユーザ・スクリプトの変更方法」を参照してください。

シナリオによっては,エンコードされたデータのデコードは,完全にデコードされたデータが生成されるまで,多くの段階で実行しなければならない場合があります。変換プロセスの各段階は,指定した DFE を適用することで実行します。たとえば,応答に含まれるエンコードされたデータは,3 つの DFE(最初の DFE-1,2 番目の DFE-2,最後の DFE-3)を適用することでデコードできます。各段階では 1 つの DFE からの出力が次の DFE の入力になります。これは完全にデコードされたデータが生成されるまで続きます。

先頭に戻る

DFE チェーン

エンコードされたデータをデコードするために必要な一連の DFE はチェーンで定義します。たとえば,3 つの DFE(DFE-1,DFE-2,DFE-3)を含む DFE-chain-1 というチェーンを作成できます。チェーン内の DFE のシーケンスは,エンコードされたデータに適用する DFE の順序を指定するため重要です。

DFE-chain-1:

エンコードされたデータをデコードするために 1 つのみの DFE が必要な場合でも,その DFE をチェーンに含める必要があります。

DFE-chain:

DFE チェーンの割り当て

HTTP メッセージは,本文,ヘッダ,クッキー,クエリ文字列といった複数のセクションに分割できます。仮想ユーザ・スクリプトをデコードおよびエンコードするために適用する DFE チェーンを定義したら,DFE チェーンを適用する HTTP メッセージのセクションを指定する必要があります。各 HTTP メッセージには,Body セクションおよび Query String セクションが 1 つずつしかないため,それらの各セクションに適用する DFE チェーンは 1 つしか指定できません。その一方で,各 HTTP メッセージは数多くのヘッダおよびクッキーを含むことができます。したがって,各ヘッダおよびクッキーには,適用する特定の DFE チェーンを指定できます。

先頭に戻る

DFE サポートの実装

仮想ユーザ・スクリプトの DFE サポートを実装するには,次の手順を実行します。

手順 1
「DFE チェーンの定義」
手順 2「DFE サポートの有効化と設定」
手順 3「DFE チェーンの適用」

先頭に戻る

DFE を含む仮想ユーザ・スクリプトの再生

DFE 機能を含む仮想ユーザ・スクリプトを作成すると,さまざまなメッセージが VuGen の[出力]ペインの再生ログに追加されます。これらのメッセージを検証して,DFE 機能が正しく実装されていることを確認します。詳細については,「データ形式拡張(DFE)のトラブルシューティング」を参照してください。

先頭に戻る

関連項目: