其他分享
首页 > 其他分享> > jmeter元件,作用域与优先级

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