JMeter全局变量在使用时第一次取到null的问题解决

1. 在执行JMeter测试时,登录操作只需要执行一次。这样就需要用到全局变量,但在前一个提取器执行了请求后,如果返回结果是json格式的数据,会在下面添加一个JSON提取器,并在json提取器下会添加一个后置BeanShell PostProcessor来设置全局变量,如下图所示:

JMeter全局变量在使用时第一次取到null的问题解决_第1张图片 备注:

  1. json提取器根据返回的字符串,获取的值填写到3位置上,格式:${名称}.
  2. String token=bsh.args[0];固定写法,不写的话,会获取不到全局变量对的值 .
  3. KaTeX parse error: Expected group after '_' at position 2: {_̲_setProperty(ne…{token},true)} 使用函数助手自动生成.
  4. 后置BeanShell PostProcessor必须放在提取器后面,否则也获取不到值
    JMeter全局变量在使用时第一次取到null的问题解决_第2张图片### 使用__setProperty函数JMeter全局变量在使用时第一次取到null的问题解决_第3张图片这里的1,2,3 中1和2必填项,分别为新名称,和json提取时值的名称。

在第二线程中获取全局变量

使用__P函数

JMeter全局变量在使用时第一次取到null的问题解决_第4张图片### 引用全局变量值
JMeter全局变量在使用时第一次取到null的问题解决_第5张图片

备注:在第二个线程中需要在请求之前添加一个定时器,因为不添加时,默认第一个请求获取的全局变量为空。这里我认为是接口请求后,数据返回时,这里已经走到第二个线程,导致第二个线程数据第一次获取为空,加上定时器后,就可以避免第一次网络请求获取失败

你可能感兴趣的:(自动化测试工具,jmeter,json)