JMeter 用户参数控件大对比,让你用的更明白

目录

前言

用户自定义变量

用户参数

CSV Data Set Config

总结


前言

作为经常使用 jmeter 来做接口测试的人,肯定对各类用户参数元件不陌生,常见的有两大类:一类是依赖外部获取,如 CSV Data Set Config元件;二类是元件自存储的,如用户自定义变量、用户参数。他们都是用来存储和传递变量值的功能组件,但它们在作用范围、初始化时机以及是否动态获取值等方面存在区别。接下来就让我们从 「 类型 」 、「 位置 」、「 作用域 」、「 功能 」、「 使用场景 」、「 初始化 」、「 动态性 」来分析比对。

用户自定义变量

  • 类型:配置元件

  • 位置:测试计划层级,以便在整个测试计划中全局生效。

  • 作用域:全局作用域,可以在任何线程组或其他子元素中引用。

  • 功能:用于设置静态常量值,这些值在整个测试计划执行过程中保持不变

  • 使用场景: 适合设置那些在整个测试期间不需要改变的通用变量。

  • 初始化:在测试脚本启动时一次性获取并设置变量的值。

  • 动态性:非动态,一旦设置后,在整个测试执行过程中,其值始终保持不变。

用户参数

  • 类型:前置处理器

  • 位置:一般放在具体线程组或HTTP请求等需要使用参数的元件内部。

  • 作用域:局部作用域,仅在当前线程组内有效,不能跨线程组引用。

  • 功能:可以动态生成一组变量及其对应的值,这些值可以在同一线程的后续请求中使用。在每个线程开始前处理一次,如果在循环迭代中,每次迭代可以使用不同的值(取决于配置)。

  • 使用场景: 适用于需要为每个线程提供不同输入参数的情况。

  • 初始化:在每个线程(虚拟用户)开始前获取一次值,如果在线程循环中,每次迭代可能都会重新获取值(取决于实际配置)。

  • 动态性:可动态获取值,尤其适用于需要在测试执行过程中动态生成不同参数值的情况。

CSV Data Set Config

  • 类型:配置元件

  • 位置:一般放在具体线程组或HTTP请求等需要使用参数的元件内部。

  • 作用域:全局或局部(根据配置位置决定)

  • 功能:从CSV文件中读取数据,并将其分配给变量。它支持多线程并行读取且可控制是否在每个线程/循环迭代中移动到下一行

  • 使用场景: 适用于大规模参数化测试,尤其在需要大量并发用户具有不同输入数据的情况下

  • 初始化:在每个线程(虚拟用户)开始前获取一次值,如果在线程循环中,每次迭代可能都会重新获取值(取决于实际配置)。

  • 动态性:可动态获取值,尤其适用于需要在测试执行过程中动态生成不同参数值的情况。

  • 参数化方式:“共享模式”选项决定了多个线程如何读取数据:

  1. 当设置为“所有线程”时,所有线程会共享同一行数据。

  2. 当设置为“当前线程(每个迭代)”时,每个线程都会独立地读取文件中的数据,在每个循环迭代中获取新的行。

  3. 其他模式也会影响数据读取的行为。

总结

综上所述,用户自定义变量用于设置固定不变的变量;用户参数是针对单个线程生命周期内的动态参数;而CSV Data Set Config则更适合实现大规模数据驱动的性能测试,从文件中逐行读取数据进行参数化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值