关联:将服务器提供动态变化的值存放在变量中,当须要使用该变量时,自动从服务器响应的信息中获取该值,并在后面使用的过程当中进行替换。(也多是前端页面动态生成的值)html
当客户端的某个请求参数是随着服务器端的响应而动态变化的时候,咱们就须要用到关联。前端
固然咱们在录制脚本时应该对测试的项目进行适当的了解,知道哪些请求须要用到服务器响应的动态值,若是咱们不明确那些值须要作关联的话,咱们也能够将脚本录制两遍,经过对比脚本的方法来查找须要关联的部分,但并非说两次录制的全部不一样点都须要关联,这个要具体状况具体分析。 web
关联和参数化的区别是:正则表达式
参数化:客户端控制,定义参数值服务器
关联:客户端不能控制,将服务器动态返回的值(也多是前端页面动态生成的值)做为下一次请求的入参session
关联函数主要使用web_reg_save_param和web_reg_save_param_ex,两者的区别就是后者在左右边界中可使用正则表达式,但我主要仍是使用前者偏多。函数
web_reg_save_param("参数名","LB=左边界","RB=右边界",LAST); // 注册函数,在参数值出现的前面使用,注册成功时返回值为0,注册失败时返回值为1。左右边界需根据TreeView里相关步骤的SeverResponse代码来肯定。用这个函数能获取第一个符合条件的数值。工具
web_reg_save_param("参数名”,"LB=左边界”,"RB=右边界","Ord=All",LAST); // 当参数有多个值时,加上"Ord=All”后可获取全部的数值。注册成功后,{参数名_count}表示取得的数值个数,{参数名_1}为第一个数值,{参数名_2}为第二个数值。测试
查看官网帮助文档网站
注册函数要放在获取关联值的请求前面
仍是以loadrunner自带的订票网站来实操,
先进入首页作一下配置,启用session功能
点击【administrator】
按以下方式勾选,而后点击【Update】
先录制脚本,结果是
而后回放脚本(再次运行脚本),登陆失败,说明用录制的入参去登陆没有成功
回放日志
点击下面
显示出差别的地方,就是可能须要关联的地方,点击“Correlate”就自动关联生成关联函数,可是这种方式不必定准确,因此不推荐
咱们能够查看页面源码
找到变化的值的左右边界
Action() { web_reg_save_param("loginSession","LB=userSession value=","RB=>",LAST); web_url("WebTours", "URL=http://127.0.0.1:1080/WebTours", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTML", LAST); lr_think_time(1); web_submit_data("login.pl", "Action=http://127.0.0.1:1080/WebTours/login.pl", "Method=POST", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t2.inf", "Mode=HTML", ITEMDATA, //"Name=userSession", "Value=108380.1963548ffHtiAzpDfDDttipiDiV", ENDITEM, "Name=userSession", "Value={loginSession}", ENDITEM, "Name=username", "Value=jojo", ENDITEM, "Name=password", "Value=bean", ENDITEM, "Name=JSFormSubmit", "Value=on", ENDITEM, "Name=login.x", "Value=42", ENDITEM, "Name=login.y", "Value=5", ENDITEM, LAST); return 0; }
回放成功,说明关联成功
1.录制两份相同的脚本,必须保证操做一致且action的划分一致。
2.保存脚本,须要注意三个方面:1.保存路径不要太深;2.保存的名称中不能有空格;3.保存的名称中不能有中文。
3.关闭一个脚本,选择tools下的“compare with script”
4.在弹出的界面中选择“options”—view—show inline diffeences目的是让wdiff工具显示脚本中真正有差别的地方,以红色标注真正不一样点
5.找出真正不一样的点,选择后,使用edit下的copy功能,并将拷贝的内容存到某文件中。
6.分析不一样点,并在业务系统中找到该不一样点,肯定左右边界,对于B/S结构系统,能够选择对应的页面,右键查看资源文件。
7.使用alt+insert快捷键,选择web_reg_save_param函数,在出现的界面上输入变量名,左右边界,肯定便可,须要注意的是关联函数的位置。
web_reg_save_param("loginSession", "LB=userSession value=", "RB=>", LAST);
8.回放脚本,进行检查,若有问题,首先应该考虑的是关联函数放的位置,接下来要考虑左右边界是否正确。