一、前言

在开始之前,应该先了解jmeter的底层是使用什么传递参数的

  • 全局变量-> properties,对象名为props,底层使用这个来传递全局变量
  • 局部变量-> vars,表示当前线程组的所有变量
    在了解这个前言后,就可以开始继续往后走了

了解开始初始化脚本和运行后脚本在哪里,使用它才能写java代码
同postman,jmeter也有这个机制,初始化脚本是用来初始化数据,运行后脚本是用来进行数据校验的

  • 初始化脚本:请求发送前,对数据进行初始化,在前置逻辑处理器中BeanShell
  • 运行后脚本:请求发送后,对响应体进行数据校验进行操作,在后置处理器中BeanShell

二、 使用

vers语法

vers.get("key"); // 通过key拿到映射的值
vers.put(key,value); // 通过put来将key和value添加入局部变量中
vers.remove(key); // 删除局部变量

// 获取值同正常变量获取值
${key} // 通过key找到value

props语法

props.get(key); // 通过key拿到映射的值
props.put(key,value); // 通过put来将key和value添加入局部变量中
props.remove(key); // 删除全局变量

// 获取值需要使用内置函数__P 当没有值的时候 他会返回一个空字符串
${__P(key)} // 通过内置函数放入key找value

使用场景:变量是有作用域的,而多个线程组之间需要传递变量,就需要使用到全局变量,先假设我现在有一个请求,我需要拿他的json值,来当作全局变量

// 假设一个url 我需要拿到他的token 来登入,假设我已经通过json提取器拿到了token变量写入全局
// 然后先创建一个结束后处理器

String token = vers.get("token"); // 拿取当前线程组变量
props.put("token_any",token); // key:value的形式,将上面的token变量变成全局变量

这样操作后,就可以在当前线程组中引用 token变量了

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐