使用LR录制完脚本后并不是马上可以直接进行并发测试,还需要对脚本进行修改。
l 关联
原理:脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,以变量的形式替换录制时的静态值,从而向服务器发出正确的请求,这种动态获得服务器响应内容的方法被称作关联。
比如前一篇《LR之识别图片验证码》(见阅读原文)采用的就是手动关联来获取动态验证码。
手动关联步骤如下:
点击Generator的工具栏Vuser下的Run-Time Settings
(该函数必须要写在请求前,关联函数的作用是通过一种规则将服务器的返回保存到一个参数中,要查看参数的内容,应勾选参数取值的日志选项,即Parameter substitution;)
将Log选项卡中Exended log的前面两项勾上,第二个表示回放时打印出服务器返回的数据。
在录制好的脚本上鼠标右键插入new step,选择web_reg_save_param
查找Web_reg_save_param关联函数,弹出关联函数属性编辑框如下图:
* Search:搜寻的范围。可以是Headers(只搜寻headers)、Body(只搜寻body部分,不搜寻header)、Noresource(只搜寻body部分,不搜寻header与resource)或是All(搜寻全部范围,此为默认值)。此属性质可有可无。
* SaveOffset:当找到符合的动态数据时,从第几个字符开始才开始储存到参数中。此属性值不可为负数,其默认值为0。
* ORD:指明从第几次出现的左边界开始才是要撷取的数据。此属性质可有可无,默认值是1。假如值为All,则所有找到符合的数据会储存在数组中。
* SaveLen:从offect开始算起,到指定的长度内的字符串,才储存到参数中。此参数可有可无,默认值是-1,表示储存到结尾整个字符串。
选择完确定之后就会在脚本上看到关联函数,如
web_reg_save_param("test",
"LB=",//左边界
"RB=",//右边界
"Ord=1",第一次出现边界就截取数据
LAST);
接下来在日志里查找左右边界并填上,如
l 参数化
如果想设置不同的用户和密码登录,则将用户和密码参数化,迭代回放时就会按照参数列表中的用户依次登录。
参数化步骤:
在脚本上将光标定位在将要参数化的字符上,单击右键,弹出快捷菜单,如图所示:
选择 Replace with a parameter ,打开选择或者创建参数对话框
点击Properties,编辑详细属性,可添加参数化列表。
l 事务 集合点
选择transaction开始点,在开始事务前插入lr_start_transcation
选择transation结束点,在结束事务后插入lr_end_transcation
注意:在脚本设置集合点的时候,集合点设置在事务的前面。
l 设置检查点
检查点的作用是验证程序的运行结果是否与预期结果相符。例如测试登录系统,你并不知道是否成功登录,这时候就需要我们去设置检查点。
Web Vuser 提供Image Check和text Check两种方式,通过检查函数来完成检查点功能。
其原理就是在上一个请求页面的函数完成后,运行检查函数,在结果页面中搜索既定的图片/关键文字。
比如我测试的登录系统,在登录成功后会返回一个状态1,那我使用检查函数web_reg_find在请求登录后查找关键字
脚本如下:
以上步骤都设置完成后,再运行,无报错,并且回放日志中会用蓝色字体打印出相应的成功步骤,则可进行下一步的场景设置。