性能测试工具 Jmeter 跨线程组参数传递的方法

今晚打老虎 · 2024年05月16日 · 最后由 今晚打老虎 回复于 2024年05月16日 · 2761 次阅读

思路

已知 Jmeter 中的属性是全局的,而变量是独属于每个线程的,无法直接用于其他线程组,是否可通过变量->属性的转变来实现变量的 “全局”

所需组件

A 线程组:请求组件 +Json 提取器 +BeanShell 后置处理器
B 线程组:请求组件

流程

  1. 首先通过 Json 提取对 A 线程组内 HTTP 请求后响应进行提取

  2. 配置 BeanShell 后置处理器将 Json 提取器结果由局部变量转变为公共属性,

  3. 测试计划》用户定义的变量内存储此公共属性,并将其转为全局变量
    注:变量类引用需使用 ${name}格式,属性类引用直接使用名称即可

    可添加 Debug 调试取样器查看提取的 Jmeter 属性/Jmeter 变量

  4. 最后即可在所有线程组内直接引用存储的全局变量了

  5. 取样器结果

文件中转法

除上述方法外还可通过将响应保存至文件来实现跨线程传递,但相较而言存在文件依赖,以简述记录:
A 线程组将响应保存至文件,B 线程组通过文件参数化 + 提取器来获取变量信息

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 2 条回复 时间 点赞
A11 回复

愿闻其详😎

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册