Jmeter的研究一直在跟进,今天讲一下如何使用正则表达式提取器来获取关联参数,还是以我最熟悉的BBS为例吧。
1、录制BBS登陆、发帖、回帖脚本后,进行筛选,整理后的脚本如下图所示:
2、forum.jsp页面是点击进入第一层的版块页面,下面还有二级版块,这里我要获取进入这个页面后,服务器返回给的二级版块ID,我在获取到这些二级版块的ID,然后进入这些二级版块中,进行发帖,所以在此请求步骤中添加-后置处理器-正则表达式提取器,以供后面请求时使用获取的这个forumid,如下图所示
3、添加后,解释一下正则表达式提取器各个选项的作用吧!
我要获取的值原本服务器返回的结果是:以下是左边界和右边界
解释:
(1)注释不多说,随便自己喜欢
(2)Apply to:默认即可
(3)要检查的字段:主体等选择,一般我们选择主体,即服务器返回给我们的页面主体信息
(4)引用名称:即参数名称,这个自己定义,在后面时可用
(5)正则表达式: 正则表达式中()括起来的部分就是要提取的。.代表任意字符,+代表出现任意次,后面加?。
(6)模板:$1$代表只有一组数据
(7)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0,如果在LR中,取出的值是一个数组,还得处理一下,LR11版本用一个随机的函数就可以不用写大段的代码来处理数组
(8)缺省值:如果参数没有取得到值,那默认给一个值让它取
4、这样我们的关联参数就可以取得到了,在需要使用这个forumid的地方用${forumid}来表达,当然可以在路经中这样取值
如下图所示:
也可以在参数中取值:
5、当然可以做多个参数,比如版块forumid和帖子topicid,如想在此版块发完帖后,回复刚发完的这个帖子
那么需要在create.jsp中使用正则表达式提取器来获取提交的topicid进行回复时调用
指定这个topicid来回复:
6、最后一步,我们来难证一下结果的正确性:
图1:我们其实进入的是305这个版块
图2:post页面也是取的版块305
以上证明我们取的版块是正确的,是取得到的
1、录制BBS登陆、发帖、回帖脚本后,进行筛选,整理后的脚本如下图所示:
2、forum.jsp页面是点击进入第一层的版块页面,下面还有二级版块,这里我要获取进入这个页面后,服务器返回给的二级版块ID,我在获取到这些二级版块的ID,然后进入这些二级版块中,进行发帖,所以在此请求步骤中添加-后置处理器-正则表达式提取器,以供后面请求时使用获取的这个forumid,如下图所示
3、添加后,解释一下正则表达式提取器各个选项的作用吧!
我要获取的值原本服务器返回的结果是:以下是左边界和右边界
解释:
(1)注释不多说,随便自己喜欢
(2)Apply to:默认即可
(3)要检查的字段:主体等选择,一般我们选择主体,即服务器返回给我们的页面主体信息
(4)引用名称:即参数名称,这个自己定义,在后面时可用
(5)正则表达式: 正则表达式中()括起来的部分就是要提取的。.代表任意字符,+代表出现任意次,后面加?。
(6)模板:$1$代表只有一组数据
(7)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0,如果在LR中,取出的值是一个数组,还得处理一下,LR11版本用一个随机的函数就可以不用写大段的代码来处理数组
(8)缺省值:如果参数没有取得到值,那默认给一个值让它取
4、这样我们的关联参数就可以取得到了,在需要使用这个forumid的地方用${forumid}来表达,当然可以在路经中这样取值
如下图所示:
也可以在参数中取值:
5、当然可以做多个参数,比如版块forumid和帖子topicid,如想在此版块发完帖后,回复刚发完的这个帖子
那么需要在create.jsp中使用正则表达式提取器来获取提交的topicid进行回复时调用
指定这个topicid来回复:
6、最后一步,我们来难证一下结果的正确性:
图1:我们其实进入的是305这个版块
图2:post页面也是取的版块305
以上证明我们取的版块是正确的,是取得到的