一 相同点:都是用来定义用户变量的,例如:name,ip等变量
二 不同点:
1.作用域不同
"用户自定义变量"可以作用域测试计划下的所有的线程组,而"用户参数"只能做用户当前的线程组

"用户自定义变量"有2种,作用效果是一样的
一种"用户自定义变量"在"测试计划"下
在这里插入图片描述
另外一种"用户自定义变量"在"线程组"下的"配置元件"下,虽然是在某个线程组下,但作用域是整个测试计划
在这里插入图片描述
"用户参数"的作用域仅是当前线程组 **,但通过设置全局变量方式,也可跨线程调用**
在这里插入图片描述
2. 不同点:
在多个线程和多循环时,"用户自定义变量"的是所有数据只会初始化一次,他的值是不变的
在多个线程和多循环时,"用户参数"并且勾选了"每次迭代更新一次"的选项,那么此线程组下的每个线程和每次循环时的参数值是不一样的,但登录和注册的参数值却是一样的

在这里插入图片描述
在多个线程和多循环时,“用户参数”,且没有勾选了"每次迭代更新一次"的选项,那么此线程组下的每个线程和每次循环时的参数值是不一样的,且登录和注册的参数值是不一样.即若不勾选,则对于"用户参数"作用域内的每个取样器,参数值都会更新。

JMETER 各组件执行顺序与 作用 1)配置元件:   配置元件的 作用 主要为了初始化默认值和 变量 ,以便后续采样器引用。相对于JAVA 语言 定义 一些常量和静态 变量 。配置元件 作用 是最初始阶段处理,配置元件仅对其所在的测试树分支有效,在同一个 作用 的任何采样器前,同时,线程组A 定义 了配置元件 间的 用户 定义 变量 ,线程组同样可以引用该 变量 ,所以,配置元件的 作用 是可以跨线程组的。 2)前置处理器:   前置处理器和后置处理器是相对应的,只是前置处理器会在采样器发出请求之前做一些特殊操作。 3) 定时器:   定时器是为了模拟 用户 操作习惯,每发送一个请求之前等待一个固定时长,如果不设定这种定时器,可能会在短时间内产生大量访问请求,造成服务器压力过大,假设线程组添加了多个定时器,那么,为几个定时器的总时长,同时影响 作用 范围内的采样器。定时器 作用 只影响 作用 内的采样器。 4) sampler(采样器):   sampler(采样器) 是真正干活的家伙,通过sampler(采样器) 对服务器发送请求,同时等待服务器响应。如果采样器没有添加逻辑控制器,采样器会按照测试树 间的顺序进行执行。 用户 参数 (User Parameter)组件在前置处理器元件 添加,前置处理器的 作用 是在取样器发出请求之前,执行一些操作。 即:如果将前置处理器附加到取样器元件 ,则它将在该取样器元件运行之前执行。常用操作如:取样器 参数 设置、环境 变量 设置、脚本预处理等。 之前我们介绍过, JMeter 常用的 参数 化方式有四种: CSV数据文件设置(CSV Data Set Config):这种方式是通常所指的 参数 化。数据存储在文件 ,该种 参数 化方式取值范围大,灵活性强,适用于大量测试数据时的使用 Jmeter 的有多种 变量 类型,有其各自的 作用 。有时候不小心就会使它们之间相互冲突或者覆盖,本文梳理各种类型 变量 的生成方法、使用特点、 作用 范围。目录 变量 类型 Jmeter 变量 分别有以下几种:User Defined VariablesUser Parameters属性 Properties运行 创建的 变量 我们分开单独研究各自的特点。User Defined Variables(UDV)Use... 文章目录一、 用户 定义 变量 1. 添加2. 使用方法3. 用户 定义 变量 实栗二、 用户 参数 1. 添加2. 使用方法3. 用户 参数 实栗 一、 用户 定义 变量 1. 添加 测试计划下的 用户 定义 变量 :直接在测试计划 添加 线程组或其他组件下的 用户 定义 变量 :添加->配置元件-> 用户 定义 变量 2. 使用方法 优先级:线程组 > HTTP请求 > 测试计划 用户 定义 变量 在测试计划运行后,是全局生效的且只生成一次(比如:如果 用户 定义 变量 是随机数,不管 用户 数循环多少次,拿到的 用户 定义 变量 用户 定义 变量 falg=1; 用户 参数 userflag =123456结构如下:beanshell1 :log.info("=====flag1===++++"+${flag});log.info("=====userflag1===++++"+${userflag});${__setProperty(globalflag,${userflag},)};log.info("=====+globalf... 看过前面的,你对 Jmeter 的接口测试和压力测试应该有个大概的了解。那么这时候你就会产生更多的疑问。毕竟不是每个需求都这么简单的只是一个接口,或者只是一套 参数 就这样只考虑并发数量就好了的。最常见的,每个线程( 用户 )的请求 参数 都应该是不一样的,怎么实现每次的 参数 都能取到不一样的 用户 信息呢?其实这时候就要引入 变量 的概念了。 今天我们只说最简单的一个: 用户 定义 变量 。 适用于多个HTTP请求... 判断哪些数据需要实现 参数 化; 设置 参数 变量 ):新建 变量 ,即 定义 参数 (起名称),准备 参数 的值(重点,难点) 用 参数 来代替脚本 需要实现 参数 化的数据。 1) 用户 定义 变量 特点:自 定义 变量 ,这个 变量 只有一个值,但是这个值是可以发生变化的,适用于 ip地址,欢迎语等的,只有一个值的数据。 变量 的值可以是任意类型。 测试计划页面 – 》 用户 定义 变量