初涉LR,关联

摘要:Loadrunner是一种很好的性能测试工具,它通过对创建Vuser脚本、定义场景、运行场景、分析结果四大模块来进行性能负载测试。

在回放脚本时有时会出现运行不成功的情况,有可能是因为之前所录制的参数与现实的不一致的原因,比如说Session不一致的情况。这种情况下可以利用关联来解决

关联:客户端需要从服务端返回的数据中获取部分数据,并将这部分数据处理后作为自己下一次请求的一部分发出

session:

1、客户端发送请求登陆页面

2、服务器返回登陆页面及会话ID即SessionID

3、客户端再次发送请求时把SessionID作为标识一起发出


自动关联:

1、在回放失败页上点击“Show and resolve dynamic server values”

2、接上一操作,选择Correlation Results中的Action进行Correlation

手动关联:

主要操作步骤:

1、 “找到需要关联的字符串及其详细信息”
2、 “添加 web_reg_save_param_* 函数”
3、 “使用参数替换数据”

具体操作实例:HP Loadrunner自带HP Web Tours网站关联会话ID问题

1、设置录制脚本为所有request和response:Tools->Reording Options->Recording->URL-based script

2、录制两次脚本,使用WDiff进行比较,即在第二次录制后,选择:Tools->Compare with script,选择第一次所保存的脚本

     WDiff 中显示的小黄条即两次脚本不一致的地方,小黄条中的红色即具体不同的地方(PS,如果没有看到红色标识可以选择:Options->View->Show Inline Differences)

3、复制当前脚本与原脚本不一致的地方,回到Generation Log中查找,看是哪一个response返回这个不一致的值,再记录此值出现在response的位置和前后值,查找是哪个request引起返回

4、单击“View Script”,在3中查找到的函数前增加关联注册函数,在请求函数后的响应中查找所需要的值

如下如示,Session为参数名,LR为响应中参数值的左值,RB为响应中参数值的右值,Search=Body表示参数值在Response中的位置是在Body中

    web_reg_save_param("Session",
        "LB=value=",
        "RB=>",
        "Search=Body",
        LAST);

5、把脚本中所用到此参数值的数据进行修改:

如下图中的:{Session}

    web_submit_data("login.pl",
        "Action=http://localhost:1080/WebTours/login.pl",
        "Method=POST",
        "RecContentType=text/html",
        "Referer=http://localhost:1080/WebTours/nav.pl?in=home",
        "Snapshot=t2.inf",
        "Mode=HTML",
        ITEMDATA,
        "Name=userSession", "Value={Session}", ENDITEM,
        "Name=username", "Value=jojo", ENDITEM,
        "Name=password", "Value=bean", ENDITEM,
        "Name=JSFormSubmit", "Value=on", ENDITEM,
        LAST);

再次运行,正常运行喽!

原文地址:https://www.cnblogs.com/yihua/p/3351548.html