0

性能工程工具:LoadRunner 11

协议:Silverlight

场景: 1. (由 Silverlight 应用程序)调用 Web 服务器以生成唯一标识符 (UID) 2. 服务器返回带有 UID 的响应 3. 应用程序使用该 UID 保存患者记录(在在这种情况下,UID 是唯一的患者 ID)

问题: 我们想使用在第 2 步的 Web 响应中收到的 ID(例如,作为局部变量)并在 LoadRunner 发送的下一个后续请求中替换它。

请告知是否可能。

*同时试图弄清楚“web_reg_save_param”是否能解决我们的问题。*

------------ LoadRunner 数据 --------

1.调用生成uid

忽略,因为它太大而无法粘贴在这里并且无关紧要

2. 来自服务器的响应(UID 为 UNI-0000001544)

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/msbin1Content-Encoding: gzipVary: Accept-EncodingServer: Microsoft-IIS/7.5X-AspNet-Version: 4.0.30319X-Powered-By: ASP.NETDate: Fri, 06 2012 年 7 月 05:41:27 GMTContent-Length: 188@GenerateSequenceResponsehttp://tempuri.org/@GenerateSequenceResult™<strong>UNI-0000001544

3. 下一个 LoadRunner 请求,其中 UID (UNI-0000001543) 必须替换为响应中收到的 UID

web_custom_request("SubmitChanges", "URL=http://infinityappload/ClientBin/Infinity-Web-Services-ActorDomainService.svc/binary/SubmitChanges",

. . . , "BodyBinary=@\rSubmitChanges\

. . . \tPatientID\\x99\\x0EUNI-0000001543\

... 最后的);

4

2 回答 2

2

正如詹姆斯所说,这就是相关性的概念。简化的方法如下:

web_reg_save_param("UID2", "LB=GenerateSequenceResult™", "Savelen=14", LAST); 
//The TM symbol will have to be replaced by whatever HTML code is used. 

web_custom_request("WebRequest1", ....);

web_custom_request("SubmitChanges", "URL=http://infinityappload/...",
         ...
         "BodyBinary=@\rSubmitChanges\",
         "\tPatientID\\x99\\x0E{UID2}\",
         LAST);

要关联的值将在填充它们的请求之前确定。然后可以在任何后续请求中使用它们。只需确保在使用相关参数时,它位于带引号的字符串内。

于 2012-08-14T14:35:12.387 回答
0

你说的概念是相关变量的管理,是使用性能测试工具的核心概念,包括LoadRunner。这一特定概念是近 1/3 的标准 LoadRunner 脚本开发产品培训的主题。我会向您推荐系统文档中有关 web 和 silverlight 协议的相关性的信息。此外,将自己与强大的导师配对并参加某种形式的标准产品培训对于您的短期和长期成功至关重要。

于 2012-07-10T04:28:36.943 回答