jmeter元件,作用域与优先级
作者:互联网
jmeter元件,作用域与优先级
一、jmeter元件
1、配置元件:优先级最高
1.1 重点使用元件:csv数据文件设置、用户定义变量、计数器
2、取样器:根据不同协议来编写请求脚本的元件
2.1 是真正发起请求的元件
2.2 执行顺序: 在没有逻辑控制器,是从上往下执行;多用户并发的时候,每个用户的执行顺序,都是从上往下
3、逻辑控制器: 控制取样器的执行逻辑
3.1 先于取样器执行
3.2 作用范围: 只针对它子集取样器
4、前置处理器:
4.1 元件:用户参数
4.2 取样器前面执行,放在不同的位置,作用范围 是不一样
5、后置处理器:对取样器的执行结果进行处理
5.2 JSON提取器,正则提取器
5.1 后置处理器是放在具体的某一个取样器下作为这个取样器的子集,所以,这个后置处理器,只作用在当前这个取样器上,不可以放在公共的线程组后测试计划下,否则会识别不到要处理哪一个执行结果
6、查看结果数:根据收到响应的先后顺序显示,先收到,先显示。所以,查看结果树中显示的结果顺序,在单个用户请求的时候,顺序与请求顺序一致, 但是,在多用户并发的时候,就不一定一致了,所以,在多用户并发的时候,不要问, 为什么查看结果树中顺序不对。
二、变量的定义
1、jmeter中变量名称的定义用字母或数字或下滑线(遵循java变量名定义规则)
2、变量的引用:${变量名}
3、变量的定义方法
3.1 配置元件:用户定义变量
3.1.1 添加变量路径一:鼠标右键-配置元件-用户定义的变量
3.1.2 添加变量路径二:测试计划-直接添加
3.1.3 用户定义变量,可以跨线程组被引用,是一个全局变量(但 是,这个全局变量与代码中讲的全局变量有差异)
3.2 前置处理器:用户参数
3.2.1 测试计划下,添加用户参数, 可以多个线程组中引用用户参数
3.2.2 在某一个线程组下面,添加用户参数,当前这个线程组中引用参数, 可以引用到值,但是,其他线程组,引用是应用不到值;用户参数,不能直接跨线程组被引用。
3.3.3 在一个线程组下,把用户参数,挂在某一个取样器下面,作为取样器的子集,运行时,这个取样器能取到用户参数的值,在这个取样器之后的取样器,也能取到用户参数的值,但是,在这个取样器之前的取样器,是不能取到用户参数的值。
3.3 测试计划:测试计划中有一个独立运行每个线程组(复选框),默认没有勾选,代表测试 计划下,所有的线程组是并行执行,勾选了,那么多个线程组,就从上往 下执行,前面线程组执行结束才会开始执行后面的线程组。
注意:什么时候使用定义变量---在项目中存在后期会变化的参数时用到定义变量,以便于后期更改参数时,只需要更改定义的变量的值,不需要一个脚本一个脚本去改数据
三、函数
1、jmeter函数有两种
1.1 自带函数: Tools > 函数助手对话框 -----jmeter有这些方法,你可以直接 调用来使用它实现你要的功能
1.1.1 Tools--> 函数助手对话框-->选择函数-->点击帮助会跳转到详情介绍页面
1.1.2 使用:Tools--函数助手对话框--选择函数值-填写下方值--点击生成-复制表达式到你定义的变量中:156${__Random(00000000,99999999,)
1.2 扩展函数----第三方扩展包
2、随机函数
2.1 用户定义变量:在启动时,获取一次值,在运行过程中,不会动态获取值;比如一个线程组中有两个接口用到同一个用户变量的值,在执行的过程中,函数仅会生成一个随机数,两个接口使用的是一个值
2.2 用户参数:在启动时,获取一次值,在运行过程中,还会动态获取值
2.2.1 两个接口都想使用用户参数值,而且想使用相同的值的方法
2.2.1.1 把用户参数,放在第1个接口取样器的子集
2.2.1.2 当用户参数在线程组下时,勾选用户参数中 【每次迭代更新一次】复选框也可以两个接口一起使用
标签:优先级,变量,作用域,用户,参数,取样器,线程,jmeter,定义 来源: https://www.cnblogs.com/hailangboke/p/16151259.html