• 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请求的参数中。
    在这里插入图片描述
    ⑤查看结果树
    在这里插入图片描述

  • 相关阅读:
    机器学习数据集:Kaggle
    基于VUE + Echarts 实现可视化数据大屏消防大数据
    django REST框架- Django-ninja
    Python实战项目-10文件存储/支付宝支付/支付成功回调接口
    【linux命令讲解大全】106.使用eject命令退出抽取式设备的方法和选项
    VM使用-pin针同心度检测
    一个 15 年 SAP ABAP 开发人员分享的 SAPGUI 一些个性化设置和实用小技巧
    WPF - Grid(网格)布局详细介绍
    SpringBoot : ch05 整合Mybatis
    洛谷P3758 可乐
  • 原文地址:https://blog.csdn.net/m0_62091240/article/details/132746714