Jmeter之跨线程传参

Jmeter之跨线程传参

背景

A请求只需要执行一次,后续的请求需要获取A请求返回的秘钥(授权)要执行多次。这样的话,我们只需获取一次A请求的秘钥。

思路:

  1. A请求独立创建一个线程组,获取秘钥并设置全局变量

  2. 其它的请求放在另一个线程组,获取前面的A请求的秘钥

业务场景

创建工单的接口需要用到登录后返回的秘钥凭证(这里用的是:token)

操作演示—方法一:使用后置处理器中的beanshell(借助函数助手)

  1. 建立一个线程组,添加登录请求,添加正则提取器将token值提取出来赋予变量
    详情可见: Jmeter之正则表达式提取器(一).
  2. 登录请求 --> 右键,添加 后置处理器 --> 添加Beanshell PostProcessor ,将token值变量设置为全局变量
    Jmeter之跨线程传参_第1张图片
设置全局变量使用jmeter函数助手中的__setPrepory(这里设置为:${__setProperty(newtoken,${token},)};

Jmeter之跨线程传参_第2张图片
3. 在创建任务的线程组使用函数助手中的P函数获取全局变量的值(这里写的是: ${__P(newtoken,)});或者用property函数获取
Jmeter之跨线程传参_第3张图片

函数助手P函数讲解,输入对应值(一般写变量名称),生成即可。默认值:当取不到变量名称的值时,引用默认值(默认为空)。

Jmeter之跨线程传参_第4张图片

函数助手property函数讲解,输入对应值(一般写变量名称),生成即可。默认值:当取不到变量名称的值时,引用默认值(默认为空)。

Jmeter之跨线程传参_第5张图片

扩展

Jmeter之BeanShell PostProcessor使用

Jmeter之正则表达式提取器(一)

Jmeter之JSON Extractor<JSON 提取器>(二)

你可能感兴趣的:(接口测试,Jmeter)