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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/132994.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.net 7 隐藏swagger的api

1.写一个隐藏接口特性表示 using Microsoft.AspNetCore.Mvc.ApiExplorer; using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.SwaggerGen;using System.Web.Http.Description;namespace JiaTongInterface.Filter {public class SwaggerApi : Swashbuckle.AspNet…

Leetcode150. 逆波兰表达式求值

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 、-、* 和 / 。每个操作数&a…

通过篡改cred结构体实现提权利用

前言 在之前的HeapOverflow文章中,作者还构造了任意地址读写的操作,使用了任意地址读写去进行提权,还挺有意思的,记录一下如何利用任意地址读写进行提权。 作者利用任意地址读写分别改写modprobe_path以及cred结构体去实现提权的…

自动化运维工具Ansible教程(一)【入门篇】

文章目录 前言Ansible 入门到精通入门篇进阶篇精通篇入门篇1. Ansible 简介2. 安装 Ansible1. 通过包管理器安装:2. 通过源码安装: 3. Ansible 的基本概念和核心组件4. 编写和运行第一个 Ansible Playbook5. 主机清单和组织结构主机清单组织结构 6. Ansi…

通过finalshell快速在ubuntu上安装jdk1.8

这篇文章主要介绍一下怎么通过finalshell连接ubuntu,然后在ubuntu上安装jdk1.8,让不熟悉linux操作系统的童鞋也能快速地完成安装。 目录 一、准备一台虚拟机 二、安装finalshell远程连接工具 三、获取ubuntu虚拟机的ip地址 四、通过finalshell连接u…

C语言 —— 初步入门知识(第一个C语言程序、数据类型、变量常量、字符与注释)

本篇文章介绍C语言的基础知识,使读者对C语言能够有一个大概的认识. 不会细写每一个知识点, 但是能够入门C语言, 进行初步的C语言代码阅读. 首先, 什么是语言? 对于人和人之间进行交流的语言, 我们知道, 可以通过汉语, 英语, 日语等语言进行交流. 那么对于人和计算…

SAP GUI 8.0 SMARTFORMS 使用SCR LEGACY TEXT EDITOR GUI8.00 禁用MSWORD

Smartforms使用WORD作为编辑器是很痛苦的一个事情,不支持拖拽,还很慢,各种不习惯,总之是非常的不舒服,能导致失眠。 在S/4以前的系统,可以使用TCODE I18N或者程序RSCPSETEDITOR或者暴力党直接改表TCP0I来…

C#难点语法讲解之委托---从应用需求开始讲解

一、委托的定义 委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。 简单解释:变量好控制,方法不好控制,委托可以把方法变成变量 二、例子解释定义 如果我们有一个数组,里面有10个…

Spring Security 的身份验证绕过漏洞CVE-2023-34035

文章目录 0.前言漏洞漏洞介绍描述 1.参考文档2.基础介绍2.1 组件简介:2.2 漏洞简介: 3.解决方案3.1. 升级版本 0.前言 背景:公司收到关于 Spring Security 的一个身份验证绕过漏洞的通知,该漏洞被标识为 CVE-2023-34035 漏洞 高 …

java项目之固定资产管理系统(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的固定资产管理系统。源码和部署相关看文章末尾! 开发环境: 后端: 开发语言:Java 框架&…

尚硅谷JAVA数据结构与算法--希尔排序

一、希尔排序 也称缩小增量排序,分为交换法和移动法,移动法速度更快。 交换法: package 希尔排序; //交换法 import java.util.Arrays;public class ShellSort {public static void main(String[] args) {int[] arr{7,1,4,6,8,9,5,2,3,10}…

前端架构设计:构建可维护、可扩展的现代Web应用

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 引言 前端架构设计是现…

EndNote21 | 账户同步问题

问题:无法同步,提示如下图所示。 原因:网络问题。 解决方法:国内网络无法实现同步,解决上网问题即可。

Ubuntu下Nginx配置ModSecurity详细思路及过程

下面是一个简介: Ubuntu是一个linux操作系统,Nginx是一个web服务器软件,ModSecurity是一款开源的web应用防火墙(江湖人称“WAF”)。 如果上面的概念没有一定的了解,下面的内容其实也能看。就是不好操作。…

设计模式之中介者模式

尽管将一个系统分割成许多对象通常可以增加其可复用性,但是对象间相互连接的激增又会降低其可复用性 大量的连接使得一个对象不可能在没有其他对象的支持下工作,系统表现为一个不可分割的整体,所以,对系统的行为进行任何较大的改…

美创科技入选第二届安徽省网络和数据安全应急技术支撑单位

9月11日,2023年安徽省网络安全宣传周活动在阜阳市正式启动。安徽省委常委、宣传部部长陈舜出席并宣布网安周正式启动。阜阳市委书记刘玉杰、省委宣传部副部长、省委网信办主任张杰华出席并致辞。 开幕式上,省委网信办副主任齐海洋发布第二届安徽省网络和…

[论文阅读] SADGA: Structure-Aware Dual Graph Aggregation Network for Text-to-SQL

“SADGA: Structure-Aware Dual Graph Aggregation Network for Text-to-SQL” 是一篇 text2sql 领域的论文,发布于 NeurIPS 2021。 原文链接:https://arxiv.org/abs/2111.00653 项目代码链接:https://github.com/DMIRLAB-Group/SADGA 总体…

搜好货API接口解析,实现获得搜好货商品详情

要解析搜好货API接口并实现获取搜好货商品详情,你需要按照以下步骤进行操作: 了解搜好货开放平台:访问搜好货开放平台官网,找到API接口相关的开发者文档、指南等信息。注册开发者账号:在搜好货开放平台上注册一个开发…

C++之vector迭代器函数begin、end、rebegin、rend、cbegin、cend、crbegin、crend总结(二百零一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

文心一言 VS 讯飞星火 VS chatgpt (93)-- 算法导论9.2 1题

一、用go语言,证明:在 RANDOMIZED-SELECT 中,对长度为0的数组,不会进行递归调用。 文心一言: 在 Go 语言中,我们可以通过实现一个函数来检查数组的长度,如果长度为0,则不进行递归调…