jmeter把参数设置为全局变量,测试计划中所有接口均可调用

1,以获取一个账户id为例
我们要获取新增一个人才后接口响应返回的id
在这里插入图片描述
2,先使用正则表达式获取返回的id,可添加debug sampler查看是否获取到值(这个之前博客有详细说明)

在这里插入图片描述
3,获取到值后,我们可以添加beanshell 取样器(在线程组右侧点击添加》取样器》beanshell取样器),将提取的id作为全局变量
在这里插入图片描述

4,引用方式为${__property(personid)}
在这里插入图片描述
此引用方式一般应用在引用token中,但有时线程组可能会用到其他线程组返回的值作为入参,此方法可较好的解决参数调用问题

### 如何在 JMeter 中动态修改或设置参数值 在 JMeter 中,可以通过多种方式实现参数的动态修改或设置。以下是具体的方法: #### 使用 `-J` 参数动态指定属性 JMeter 支持通过命令行中的 `-J` 参数动态指定属性值[^1]。这种方式允许用户在不修改脚本的情况下调整测试计划的行为。例如,如果希望动态设置线程数(Threads),可以在命令行中传递如下参数: ```bash jmeter -Jthreads=100 -n -t test_plan.jmx -l result.jtl ``` 上述命令将 `threads` 的值设为 100,并将其应用到测试计划中。 #### 结合 __P() 函数获取动态参数 为了使脚本能够识别并使用这些动态参数,可以在 JMeter 脚本中使用内置函数 `__P()` 或 `__property()` 获取对应的属性值[^2]。例如,在线程组中定义线程数时,可以输入 `${__P(threads,)}` 替代固定的数值。这样,当运行脚本时,`${__P(threads,)}` 将被替换为命令行中传递的实际值。 #### 修改默认属性文件 除了通过命令行动态传参外,还可以直接编辑 JMeter 默认的属性文件(如 `jmeter.properties` 和 `system.properties`)。这种方法适用于需要长期生效的全局配置[^3]。例如,打开 `jmeter.properties` 文件并将某项参数固定为特定值: ```properties threads.default=50 ``` 随后,在脚本中同样可以使用 `__P()` 函数调用该值:`${__P(threads.default,)}`。 #### 非 GUI 模式下的参数化 对于 Linux 环境或其他无法使用图形界面的情况,推荐采用非 GUI 模式运行 JMeter 测试计划[^4]。此时,所有的参数均应提前完成配置并通过命令行传递给程序。这不仅提高了效率,也便于自动化集成。 #### 外部文件参数化 另外一种常见的做法是借助外部 CSV 数据文件进行参数化处理[^5]。此方法特别适合于多场景或多轮次的压力测试需求。只需确保数据源路径正确无误即可顺利完成操作。 --- ### 示例代码 假设我们需要创建一个简单的 HTTP 请求测试案例,并希望通过命令行控制并发用户的数量,则可按以下步骤实施: 1. **构建基础测试计划** 创建一个新的测试计划,添加必要的组件(HTTP 请求、监听器等)。 2. **引入变量替代静态值** 在线程组部分设定“线程数”字段填写表达式 `${__P(users,)}`。 3. **编写 Shell 执行语句** 下面是一条完整的 shell 命令用于触发测试流程: ```bash jmeter -Jusers=200 -n -t my_testplan.jmx -l output.csv ``` 以上过程即完成了基于命令行选项对目标参数的有效调控。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值