Jmeter解决不同http请求中使用相同的变量名

最近在用json schema做接口测试,在调试脚本的过程中,经常遇到莫名其妙的报错:A接口定义的josn schema字符串会被用来判断B接口,验证后发现是用户自定义变量组件是全局变量(作用域为线程组而非单http请求)

问题描述

用例结构如下:
Jmeter解决不同http请求中使用相同的变量名_第1张图片

  1. 使用的是用户自定义变量组件(User Defined Variables)来存放对应变量jsonSchemaStr,然后每个用户自定义变量组件放在对应的http请求组件下。

  2. 使用Bean Shell获取并打印jsonSchemaStr信息:

String schemaData = vars.get("jsonSchemaStr");
log.info(">>>>>>>>>>>>>>>>>schemaData: " + schemaData);
  1. 运行一下后发现,接口A和B获取到的变量均为“B”:
    Jmeter解决不同http请求中使用相同的变量名_第2张图片

解决方案

使用用户参数组件(User Parameters)来存放jsonSchemaStr即能解决问题:Jmeter解决不同http请求中使用相同的变量名_第3张图片

你可能感兴趣的:(JMeter)