groovy 总是在第一次尝试时未能通过令牌,但在第二次尝试时成功

rdlzhqv9  于 2023-05-16  发布在  其他
关注(0)|答案(1)|浏览(100)

我使用的Jmeter是5.5版,我想将线程组01生成的令牌传递给线程组02。做了一些研究后,我知道怎么做,但总是在第一次尝试时失败。
线程组01中,我进行了如下配置:
1.JSON Extractor获取token并存储到bearerToken变量中,

  1. JSR 223 PostPocessor & groovy将token传递给另一个线程,我写了这个${__setProperty(bearerToken,${bearerToken})}

线程组02中,我进行了如下配置:
1.用户定义变量,然后使用__property()函数

1.并将其用作标题

每次第一次运行时,线程组02中的http-request总是无法运行,因为它没有获得令牌。但如果再运行第二次,它就会成功。

黄色框是第一次运行线程组01(登录和调试采样器)和线程组02(索引),蓝色框是第二次运行时的条件。
我认为最初线程组02在线程组01之前首先运行,这就是为什么我启用了“连续运行线程组(即一次一个)”选项。我运行它并检查侦听器,结果是相同的,线程组01(登录和调试采样器)成功运行,但线程组02(索引)没有成功,因为它没有获得访问令牌。

nb:我不能显示图像,因为它需要至少10个声望

ndh0cuux

ndh0cuux1#

1.修改JSR223 PostProcessor代码,使用props and vars shorthands,而不是内联函数:

props.put('bearerToken', vars.get('bearerToken'))

1.在HTTP头管理器中,使用__P()函数作为

${__P(bearerToken,)}

相关问题