Jmeter系列之《9.动态关联》

2022-06-21 15:17:00 浏览数 (1)

目录

  • 一、关联
  • 二、步骤
    • 1.webtours开启关联。
    • 2.badboy录制。
    • 3.导入Jmeter。
    • 4.回放脚本,看是否正确,如果正确就不需要关联了。
    • 5.找出需要关联的请求(nav.pl)。
    • 6.在Jmeter中找到对应的请求。
    • 7.点击这个请求,右键--添加--后置处理器--正则表达式提取器。
    • 8.增加断言。
    • 9.增加断言结果。
    • 10.运行查看。
  • 三、总结

一、关联

  • 和LR中的差不多。

LR中的关联通过一个函数,左右边界或者是正则来进行定位,取这个动态关联的。Jmeter中也是一样的。

  • Jmeter中关联的两种方式取动态的关联:正则、xpath(一般返回数据是xml格式的时候用的多)。

正则:利用一些符号和数字进行匹配、通配。

  • 以webtours登录为例进行演示webtours.jmx

二、步骤

  • 1.webtours开启关联。

webtours安装:http://nicethemes.cn/news/txtlist_i303469v.html

  • 2.badboy录制。
  • 3.导入Jmeter。

4.回放脚本,看是否正确,如果正确可能就不需要关联了。

不正确的话,就排查问题(请求、脚本、参数问题),排查的过程中发现有些参数没有规律。是数字 字母混合组合。一般遇到这种东西,都是可能需要关联的。这个时候就要去找开发确认。

最起码要熟悉业务和技术层面,知道哪些请求带哪些参数,这些参数代表啥意思。

  • 5.找出需要关联的请求(nav.pl)。

右键--查看源文件:就是这个东西需要关联,因为它每次生成的userSession都不一样。

userSession,它就是数字 字母混合组合

这么多请求,找到在哪一步生成的userSession:

如果对系统熟悉,你就会知道在哪一步生成的userSession。

有的系统是在登录之后生成的userSession,就在登录之后的页面的源码里面去找下userSession。

WebTours比较特别,它是在登录之前也就是打开首页的时候就生成了userSession。

打开首页,查看源文件--title,可以看到是这个请求里头的:

就是这个请求

6.在Jmeter中找到对应的请求:

7.点击这个请求,右键--添加--后置处理器--正则表达式提取器。

一般情况下,上面三部分保持默认不变。

.代表单个任意的字符。*代表前面的东西出现一次或多次。

正则的内容全部都在小括号()里面去写。

  • 模板:如果前面的正则表达式取了不止一个参数,那么这里需要制定参数的组别,如果该参数为1,则表示取得第一个值,2表示取得第二个值。

意思:用正则去匹配的时候,如果value后面的值只匹配到唯一的这样一个值,就写成1,说明只取第一个值。

假设value后面的值匹配出来十个值,但是只需要用第2个值,就指定2,代表要用第二个值。

  • 匹配数字:0随机;-1取所有匹配数字的值,以数组形式存储。

1:代表取第一个值,这里实际关联值只有这一个值,所以写1就行。

缺省值:默认不写。

  • 8.增加断言。

判断下session,看看有没有取到

  • 9.增加断言结果。
  • 10.运行查看。

三、总结

Jmeter的关联与LR的关联的区别:Jmeter的关联就多学习一个正则,其它的东西完全一样。

关联的步骤和LR中的关联一样:

1.首先知道关联哪一个参数。

2.知道参数在哪个请求之后产生的。

3.找到它定位它。

4.找到它的左右边界,将左右边界填充到正则表达式中。

5.对需要匹配的关联的动态值进行正则的提取。

6.填充模版、匹配数字。如果没特殊情况,这2个空着也没问题。

7.增加断言,判断关联的动态数据有没有取到。

8.运行并查看结果。

webtours网站有变化,实操换别的网站。

0 人点赞