文章以实例讲解loadrunner中的关联操作,内容包括:自动关联、手动关联和关联规则的设置。
许多应用程序都使用动态值,每次使用应用程序时这些值都会变化。例如:有些服务器会为每个新会话分配一个唯一的会话ID。回放录制的会话时,应用程序创建的新会话ID与录制的会话ID不同。loadRunner通过关联解决了这种问题。关联将动态值(在本例中为会话ID)保存到参数中。允许模拟场景时,Vuser并不使用录制的值,而是使用服务器分配的新会话ID。
一、准备工作
在web tours项目默认设置里,登录操作是没有生成sessionID的,所以我们需要设置一下。
打开web tours 点击 administration,如下图:
进入“Administration Page”页,勾选上第三个选项“Set LOGIN form's action tag to an error page.”然后点击update,如下图:
这样设置后,在关连ID失败后会进入一个错误页面
二、手动关联:
点击Virtual User Generator工具栏中Shwo/Hide Output window -> Correlation Results ->会有Recording(录制时的值)和Replay(回放时的值)两组值,点击后面的Correlate关连起来
关连之后会生成关连函数:web_reg_save_param_ex
CorrelationParameter保证回放的时候使用服务器给的最新session ID
三、自动关联:
首先要有已经录制好的脚本
设置自动关联:Tools->Recording Options->HTTP Properties->Correlation->勾选Enable correlation during recording
回放日志如下,出现了异常:web_image("SignOff Button")没找到。
我们再看回放窗口的最后一个回放记录页面,如下图,web tours提示我们可能是因为session的原因。通常出现sessionID这些动态信息的时候,我们就需要找出关联值,做关联操作。
这时候我们可以通过扫描脚本查找关联值,如下图点击“Scan script for Correlations”,也可以用快捷键ctrl+F8.
如下图,在扫描结果中我们找到了sessionID
下面我们对这个sessionId做关联,选中这一大串sessionID,然后右键点击“Create Correlation”
在上面的弹出框中点击“是”,然后回到脚本中可以看到已经生成了一块函数web_reg_save_param_ex,被保存的参数名为“CorrelationParameter_1”
最后,打开登录函数块,并参数化sessionID,如下图。
到此设置关联已完成,回放脚本即可通过。
建议不要使用自动关联,因为关联后会回放失败,但关联值不显示出来,所以建议使用手动关联
四、设置关联规则,生成关联
如果我们预先知道要关联的内容,那么我们可以自己设置关联规则,这样在录制的过程中脚本就会自动生成关联。
Recording Options > Correlation > New Application(添加"web tours") > New Rule设置规则。如下图为我们设置好的关联规则
然后我们直接录制脚本。
查看脚本,我们可以看到已经生成了关联参数,并且参数已经应用在请求当中,如下两个图: