一、什么是关联
在请求中会有类似于认证信息的字段,每个用户、每个时间段等等产生的字段都不一致,如果完全按照录制脚本时的数据的话会导致一些认证过期,回放无法成功的问题,这时候需要做个标记,让jmeter理解这部分的内容不从录制好的脚本中获取,需要重新从网页中获取。
例如:在录制飞机票预定系统注册或悟空软件登录脚本时,发现登录无法抓取,运行后提示登录失败或者没有登录,此时就要用到关联。
二、机票系统登录讲解
1).先用badboy录制一个首页-注册-登录-退出脚本(jmeter抓取信息有问题),运行后可以看到没有用户名信息,说明没有登录
2).找抓取到的脚本和运行后的数据进行对比,找到数据不一致的字段
所以可以判断在首页登录时userSession(用户会话)的值是在不断变化的,所以导致抓取的和运行不一致导致无法登录(这个设计也是为了安全,避免信息盗取)
3).使用Jmeter中的关联进行解决,首先找到动态变化值userSession(用户会话),并在对应的请求中添加正则表达式:
5).修改后保存,然后清除记录,重新运行,再次查看登录页面,验证是否成功:
三、悟空软件登录讲解(局域网)
1).先用jmeter录制一个首页-注册-登录-退出脚本,查看运行后的数据信息,发现有报错信息302,说明没有登录:
2).运行两次后,可找出动态变化值Admin-Token
3).找到动态变化值所对应的链接右键添加正则表达式,并修改相关信息,再次运行即可登录成功:
上图修改的内容为全部链接都要改成上图模样,还有一种方法就是选择一个最全的链接,将他修改后移至线程组上方,再将其他链接的信息头全部删除,运行结果也一样。