个人认为LoadRunner的手动关联技巧可以看做参数化的一种,区别在与获取参数的来源不同。
- 一般的参数化:把脚本中一个写死的数值或者字符串用一个变量参数来代替,每次迭代的时候,从本地文件或者数据库中获取不同的数值或者字符串,填入变量参数的位置,然后对服务器发起请求。
- 手动关联:把脚本中服务器返回给用户的SessionID(字符串)保存在一个变量里面,后面调用时直接使用使用变量而不是具体某个SessionID。
我们可以通过脚本对比的方式找到需要手动关联的地方。
1、录制一个脚本,一定要记住每一个操作步骤,保存为Script_1
2、录制第二个脚本,操作步骤和第一个脚本是必须完全一致,思考时间可以不同,保存脚本为Script_2
3、打开LoadRunner自带的WinDiff(Tools->Compare with Script),选择要对比的脚本,打开之后两个脚本会自动对比,不一样的地方就会标黄,很容易看出来。
4、找到要参数化的地方之后,需要确定参数值的左右边界,在Generation Log中搜索参数值,然后把参数值连同前后的几个字符都复制下来。
5、这个SessionID是在登录成功之后服务器分配的,所以要在登录请求之前添加关联函数。选择菜单栏Insert->New Step,选择web_reg_save_para或者web_reg_save_para_ex,在页面上输入参数名称、左右边界,有时候还要输入filter等,点击保存就会自动生成关联函数。
6、引用变量参数,也就是在把userSession的值用{ID}替换,记得一定要加大括号才能引用。
7、参数化的步骤到上一步就已经完成了,为了验证我们从服务器拿到的userSession确实是每次都不同的,我们可以打印出来看看,设置3次迭代。
LoadRunner打印函数:lr_log_message("ID=%s",lr_eval_string("{ID}"));
运行结果: