Jmeter学习01---Jmeter组件介绍及自定义变量

 

 取样器:发送请求。类似于自动化中的业务测试语句

逻辑控制器:控制元件执行顺序。类似于自动化中的逻辑控制语句。

前置处理器:对发送的请求参数进行预处理。类似于自动化中的参数化。

后置处理器:对收到的响应数据进行处理。类似于自动化中获得对应的测试结果。

定时器:等待一定时间。类似于自动化中的sleep语句

测试片段:封装的脚本,供其他脚本调用。类似于自动化中封装的函数

配置元件:测试前的环境及数据配置。类似于自动化中的初始化动作。

监听器:查看测试的结果。类似自动化中的日志和报告。

作用域的原理:

按照Jmeter测试计划的树形结构来定义作用域(有点类似python的缩进)

作用域的原则:

  -取样器时Jmeter的核心,不作用于其他的组件

  -逻辑控制器:只对子节点起作用

  -对于其他组件

    -如果父节点时取样器的话,则只对父节点起作用,

    -如果父节点不是取样器的话,则对父节点下的所有组件起作用

Jmeter三个重要组件:

  Jmeter的第一个案例:

    1、启动Jmeter

    2、在“测试计划”下添加“线程组”

    3、在“线程组”下添加HTTP请求取样器

    4、填写“HTTP请求”的相关请求数据

    5、在线程组下添加“查看结果数”监听器

    6、点击“启动”按钮运行,并查看结果

  如果有多个线程组时,可以并行或者串行执行线程组。

如下图,“独立运行每个线程组”勾选,则所有的线程组按照添加顺序串行执行;

如果未勾选,则并行执行(先后顺序无法保证)。

 

 

线程组的分类:

   普通线程组:用于发送业务请求的线程组(受并行、串行配置的影响)

  setup线程组:在所有的线程组之前执行(不受并行、串行配置的影响)

  teardown线程组:在所有的线程组之后执行(不受并行、串行配置的影响)

线程组的属性:

  线程数:需要模拟的虚拟用户数。

  ramp-up time: 模拟的虚拟用户数全部启动所需要的时间。

    -目的:为了模拟性能测试的场景,更接近用户的使用习惯(用户慢慢接入系统)

  循环次数:

    -设置为固定次数n时:脚本运行时发送请求的次数为n

    -设置循环测试为“永远”时,脚本会一直运行下去,不停止

  调度器:

    -一般与循环次数为“永远”的设置配合使用

    -持续时间设置为n时:脚本的请求发送时间为n秒

    -延迟启动设置为n时:脚本的请求发送在等待n秒后再进行

  延迟创建线程直到需要:当启动线程发送请求时,才分配资源;如果暂未启动该线程,则不分配。如果不勾选,在jmeter点击运行时立即分配(使用不多,了解即可,无法观察效果)

 

线程数m和循环次数n的关系:

  -如果同时配置,实际发送的HTTP请求数应该为m*n

  -虽然发送请求的次数相同,但是不能相互替换

    --线程数:代表并发用户数,体现服务器的负载量

    --循环次数:代表执行时间

HTTP请求:

  协议:HTTP/HTTPS

服务器名称或IP: 域名/IP

端口号: HTTP端口号、HTTPS端口号

方法:get post

路径:接口请求URL中IP+Port之后的路径部分(GET的请求参数也可以写在这里)

内容编码:UTF-8

案例1:发送请求时:

  -协议未填写,则默认为HTTP协议

  -端口未填写,则默认为80端口

  -将GET请求参数放在路径中填写

案例2:发送请求

   -协议选择HTTPS

  -端口号:443

  -将GET 请求参数放在下面的参数列表中填写

案例3:发送POST请求

  -方法选择POST

  -将参数内容放入到消息数据中,在发送时参数会添加到请求体中发送

 

 Jmeter 响应中出现乱码时:

  修改配置文件jmeter.properties(bin目录下)中的内容

 Jmeter参数化:

配置方法1:配置元件中配置

  -添加路径:测试计划--线程--配置元件--用户定义的变量

  -参数设置:

    -参数名:参数值

  在HTTP取样器中应用:${参数名}

  线程组下配置的用户定义的变量,在线程组下剩下,与测试计划中配置的变量冲突时,以线程组下的为准。

配置方法2:在测试计划中配置(全局生效)

  

 

 

 

用户参数:

  使用用户定义的变量时,不同的用户在访问时,读取参数值完全相同,如果希望每个用户在访问时读取的变量不同,可以使用用户参数。

配置方法:

  -添加位置:线程组-前置处理器--用户参数

  -添加用户:可以添加多组用户

  -添加参数:针对每个用户添加多个参数

CSV数据文件设置:

使用用户参数时,每个用户可以取不同的数据,但是同一用户的多次循环时读取的额数据是不变的。如果想让同一用户多次循环读取时的数据也不同,需要使用CSV数据文件设置的方式。

  支持是CSV格式的文件后缀名必须是csv

1、定义CSV数据文件

  

 

 

 2、配置CSV数据文件设置

  

 

 4、添加HTTP请求

  

 

 5、设置3个线程数

 

 运行结果:

 

posted @ 2021-12-14 16:54  GalaxyStar  阅读(369)  评论(0编辑  收藏  举报