Jmeter系列-测试计划详细介绍(3)

测试计划的作用

  • 测试计划描述了 Jmeter 在执行时,一系列的步骤
  • 一个完整的测试计划包含了一个或多个【线程组、逻辑控制器、采样器、监听器、定时器、断言和配置元素】

Jmeter原件和组件的介绍

基本元件的介绍

多个类似功能组件的 容器(类似于类)

image-20230217175228157

组件的基本介绍

实现独立的某个功能(类似于方法
image-20230217175404855
在这里插入图片描述

配置树中的元件

  • 树中的每一个控件都能通过右边内容区显示
  • 树中的每一个控件都能在树中随意拖动

运行测试计划

  • 可以通过ctrl+r运行测试计划

暂停运行测试计划

在这里插入图片描述
两种暂停方式

  • 停止线程(ctrl + .)【硬中断】
  • 关闭线程(ctrl + ,)【软中断】

stop threads

  • 许多采样器(Samplers)都是可中断的,这意味着可- 以提前终止活动采样
  • stop命令将检查所有线程是否已在默认超时(即5000 ms = 5秒)内停止
  • 如果有线程还没被停止,则会发送一条信息;此时可以再发送一次 stop 命令,但如果还是失败的话,就得退出 Jmeter 来清理

注意
上述说的默认超时可以通过Jmeter属性来改变 jmeterengine.threadstop.wait 【jmeter安装目录 / bin / jmeter.properties】
在这里插入图片描述

shutdown threads

  • 线程会在当前运行任务结束后停止,不会中断活动线程正在执行的任务
  • 会出现一个【正在停止测试】的窗口(如下图),直到所有线程都运行完成了才会关闭
  • 如果停止时间太久,也可以直接发stop命令

在CLI模式下,如何停止线程执行

在bin目录下,运行脚本

  • stoptest.cmd / stoptest.sh 【硬中断】
  • shutdown.cmd / shutdown.sh 【软中断】
    注意,只有在同一个 host 下运行的脚本,Jmeter 才会接受

常用介绍

线程组

普通的、常用的线程组,可以看做一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户

  • setUp线程组: 一种特殊类型的线程组,可用于执行预测试操作

  • tearDown线程组: 一种特殊类型的线程组,可用于执行测试后工作image-20230217221157866

HTTP请求

向服务器发送http及https请求
image-20230218093101549

查看结果树

image-20230218105159603

Jmeter参数化(重点)

1、用户定义的变量

①作用:定义全局变量;
位置:测试计划》线程组》配置元件》用户定义的变量
②定义全局使用的变量,如 协议、域名、端口等:
在这里插入图片描述
③HTTP请求中引用定义的变量名,格式:${变量名}
在这里插入图片描述
④查看结果树
在这里插入图片描述

2、用户参数

①作用:针对同一组参数,当不同的用户来访问时,可以获取到不同的值,但不能对同一个用户的不同循环取不同的值;
位置:测试计划》线程组》前置处理器》用户参数
②添加用户参数:
在这里插入图片描述
③HTTP请求中引用定义的变量名,格式:${变量名}

在这里插入图片描述

④ 查看结果树
在这里插入图片描述

3、CSV数据文件

① 作用:让不同用户在多次循环时,可以取到不同的值;
位置:测试计划》线程组》配置元件》CSV数据文件设置
② 定义 csv数据文件:
在这里插入图片描述
③ 参数介绍:
在这里插入图片描述
在这里插入图片描述

④ HTTP请求中引用定义的变量名,格式:${变量名}
在这里插入图片描述
⑤ 查看结果树
在这里插入图片描述
注:循环次数 是在线程组页面设置
在这里插入图片描述

4、函数(__counter)

① 作用:计数函数,一般做执行次数统计使用。不需要提前准备数据。自动添加计数的方式来完成参数化;
位置:在菜单中选择》工具》函数助手对话框
设置

  • TRUE,每个用户有自己的计数器;FALSE,使用全局计数器
  • Name of variable in which to store the result(optional):用于存储结果的变量名(可选)

在HTTP取样器中,应用counter函数生成的函数字符串,就可以读取counter函数生成的数值。 如果counter

  • 参数设置为:TRUE,则每个用户分别(分别计数)从1开始计算,每循环一次加1 如果counter

  • 参数设置为:FALSE,则所有用户公用(全局计数)一个计数器,每发送一个请求时,取值加1
    ② 参数介绍:
    Ⅰ. ${__Random(,)}:方法的第一个参数为随机数的下限,第二个参数为随机数的上限,第三个参数为储存随机数的变量名;
    Ⅱ. ${__CSVRead(,)}:方法中第一个参数是文件名,第二个参数是文件中的列(列数从0开始);
    Ⅲ. KaTeX parse error: Expected group after '_' at position 2: {_̲_StringFromFile…{__StringFromFile(,)}方法中没有指定读取文件中的哪一列的参数,所以KaTeX parse error: Expected group after '_' at position 2: {_̲_StringFromFile…{__counter}:不需要准备数据,jmeter自动添加计数的方式来完成参数化(TRUE:,每个用户分别计数;FALSE:所有用户使用全局计数)

以下用使用${__Random(,)}举例:
③ 打开函数助手,选择Random,并且设置函数参数:
在这里插入图片描述
④把函数助手生成的函数拷贝到HTTP请求的参数中。
在这里插入图片描述
⑤查看结果树
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_62091240/article/details/132746714