数据格式扩展 (DFE) 概述
数据格式扩展 (DFE) 支持提供了对客户端和服务器之间交换的格式化数据进行解码和编码的功能,让用户可以更轻松地编写 Web 应用程序的脚本。从而更方便地对生成的 Vuser 脚本执行关联和参数化。
适用于:
-
Web - HTTP/HTML Vuser 脚本
-
SAP - Web Vuser 脚本
何时使用 DFE
在录制 Vuser 脚本时,VuGen 将录制在客户端和 Web 服务器之间传递的 HTTP 请求和响应。这些 HTTP 请求和响应中的数据通常已编码。例如,某些数据可能为二进制格式。编码数据可包含在 HTTP 查询字符串、标头、正文或 cookie 中。当编码数据包含在 Vuser 脚本中时,生成的脚本将包含难以破译的数据。这样很难确定可用于参数化和关联操作的文本字符串。
LoadRunner Professional 使用数据格式扩展 (DFE) 解决因 Vuser 脚本中的编码数据产生的问题。DFE 支持提供了对客户端和服务器之间交换的编码数据进行解码的功能,让用户可以更轻松地创建 Vuser 脚本。通过提供解码格式的数据,Vuser 脚本中的信息将以可读的格式呈现,以便您能够根据需要关联和参数化脚本。在回放脚本时,DFE 支持将对修改后的 Vuser 脚本重新编码,使 Vuser 能够向服务器发送正确编码的请求。
将一个 DFE 应用于 Vuser 脚本然后重新生成该脚本时,该 DFE 将修改该脚本,并使用解码后的数据替换编码数据。
LoadRunner Professional 包括一些预定义的 DFE。每个 DFE 都能够对特定类型的数据进行解码和编码。例如,在生成脚本时,GWT-DFE 将 GWT 数据解码为 XML 格式;在回放脚本之前,它将 XML 格式的数据编码为 GWT 格式的数据 (请参阅在启用和未启用 GWT-DFE 支持时生成的代码示例:)。
有关预定义的 DFE 的完整列表,请参阅数据格式扩展列表。
如何应用 DFE
可以为需要对编码数据执行解码的每个 Vuser 脚本启用 DFE 支持。启用 DFE 支持后,将在下列情况下应用 DFE 支持:
-
每次生成(在录制后)或重新生成脚本时。将应用 DFE 以对数据进行解码,从而生成易于理解和使用的脚本。
-
每次运行脚本时。将应用 DFE 以对解码的数据重新编码,从而生成包含服务器所需格式编码数据的 HTTP 消息。
注: 除了在生成或回放脚本时应用 DFE 外,还可以向 Vuser 脚本中的选定字符串应用 DFE。有关详细信息,请参阅DFE 如何修改 Vuser 脚本。
在某些情况下,需分数个阶段对编码数据进行解码,直到生成完全解码的数据。将通过应用指定的 DFE 来执行转换过程中的每一个阶段。例如,可通过应用三个 DFE(依次应用 DFE-1、DFE-2 和 DFE-3)对响应中的编码数据进行解码。在每个阶段中,一个 DFE 的输出将作为下一个 DFE 的输入,直到生成完全解码的数据。
DFE 链
链中定义了需用于对编码数据进行解码的一系列 DFE。例如,可创建一个名为 DFE-chain-1 的链,其中包括三个 DFE: DFE-1、DFE-2 和 DFE-3。链内各个 DFE 的顺序很重要,因为该顺序表明了将各 DFE 应用于编码数据的顺序。
DFE-chain-1:
如果只需要一个 DFE 来对编码数据进行解码,该 DFE 仍必须包含在链中。
DFE-chain:
分配 DFE 链
HTTP 消息可划分为若干部分,包括正文、标头、cookie 和查询字符串。在定义对 Vuser 脚本解码和编码时将应用的 DFE 链之后,必须指定要应用 DFE 链的 HTTP 消息部分。因为每条 HTTP 消息只有一个正文部分和一个查询字符串部分,因此只能指定一个 DFE 链来应用于其中每个部分。与此相对,每条 HTTP 消息可以包含很多标头和 cookie。因此,您可以指定一个特定 DFE 链来应用于每个标头和 cookie。
实现 DFE 支持
要实现对 Vuser 脚本的 DFE 支持,请执行以下步骤:
步骤 1 |
定义 DFE 链
|
步骤 2 | 启用和配置 DFE 支持 |
步骤 3 | 应用 DFE 链 |
回放包含 DFE 的 Vuser 脚本
当回放包含 DFE 功能的 Vuser 脚本时,将向 VuGen 输出窗格中的回放日志添加各种消息。务必检查这些消息,确保已正确实现 DFE 功能。有关更多详细信息,请参阅数据格式扩展 (DFE) 疑难解答。
另请参阅:
- 有关通过 VuGen JavaScript 引擎使用常用 JavaScript 库对数据进行编码和解码的详细信息,请参阅使用 VuGen JavaScript 引擎。
- 有关创建自定义 DFE (针对高级用户) 的详细信息,请参阅软件支持知识库。