是否可以在下一个后续请求中使用LoadRunner Web请求响应中的值?

时间:2012-07-06 09:51:42

标签: request response loadrunner

效果工程工具: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:   2012年7月6日星期五05:41:27 GMTContent-Length:   188 @ GenerateSequenceResponsehttp://tempuri.org/@GenerateSequenceResult™的 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 \

     

......最后);

2 个答案:

答案 0 :(得分: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);

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

答案 1 :(得分:0)

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