技术开发 频道

在LoadRunner 脚本中使用关联

3) 捕获动态值
  我将演示两种方法来捕获动态值:
    A. 从树视图中自动捕获
    B. 从脚本视图中手动捕获
这两种方法很相似,也使用相同的函数 — web_reg_save_param。 开始:
    A.从树视图中自动捕获
打开树视图(菜单“View / Tree view”):
  
 

然后:
? 点击“View recording snapshot only”按钮 (2);
? 从树视图中选择 generateChecksum.jsp 页面 (3);
? 选择“Body”查看服务器响应的整体内容 (4);
? 从中您将看到已录制的时标以及检验和的值 (5)。
现在让我们选择第一个动态值(检验和),右击并选择“Create parameter”,以创建参数:
  

 您可以开始为动态值创建参数。 如果您需要替换所有脚本中出现的动态值,请按“Yes”按钮。如果不要替换所有的,请按“No”按钮。 提示:我不建议替换所有的动态值,因为很有可能导致错误。相反,通过“Search and Replace”对话框逐个替换的效果更好。 OK,我按了“No”按钮。
返回脚本视图(“View / Script View”)查看变化。可以发现generateChecksum.jsp 页面前会出现新行:

    //[WCSPARAM WCSParam_Text1 40 715E19300D670ED77773BBF066DAAAE2866484B8] Parameter {WCSParam_Text1} created by Correlation Studio web_reg_save_param("WCSParam_Text1", "LB=window.parent.setChecksum(\"", "RB=\"", "Ord=1", "RelFrameId=1", "Search=Body", "IgnoreRedirections=Yes", LAST);

    web_reg_save_param 函数将从下一个服务器响应中查找并储存一个字符串。换句话说,它会捕获一个动态值。 在这个例子里,web_reg_save_param 函数将会把捕获的值保存在参数 WCSParam_Text1 中,并会发现左边界(window.parent.setChecksum(")和右边界(")。从左右边界之内找到的字符串将保存到参数 WCSParam_Text1 中。Ord 属性注明了被捕获值的顺序位置。本例中(Ord=1),即我们捕获的值处于左边界和左边第一个值之间。 容易想到的是,“Search=Body”意思是在服务器响应的实体内搜索。我建议通过 Help 进一步学习 web_reg_save_param 函数。 注意:捕获时标参数的方法是类似的。其生成的代码如下:
    // [WCSPARAM WCSParam_Text2 13 1192177661211] Parameter {WCSParam_Text2} created by Correlation Studio web_reg_save_param("WCSParam_Text2", "LB=, ", "RB=)", "Ord=1", "RelFrameId=1", "Search=Body", "IgnoreRedirections=Yes", LAST);

    ? 从脚本视图中手动捕获。
    事实上,这个方法与手动编辑 web_reg_save_param 函数相结合。它要求对这个函数及其参数非常熟悉。web_reg_save_param 函数有许多属性,在此我不再重复说明,请大家参考 Help。 提示:我建议重命名默认参数(WCSParam_Text1, 2, 3, etc),方便记忆。例如在此例中,我喜欢将参数 prmCheckSum 和 prmTimeStamp 重命名为 WCSParam_Text1 和 WCSParam_Text2。

 

0
相关文章