【JMeter接口测试工具】第二节.JMeter基本功能介绍(中)【入门篇】

本文主要是介绍【JMeter接口测试工具】第二节.JMeter基本功能介绍(中)【入门篇】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 四、信息头管理器
  • 五、Jmeter参数化
  •       5.1 用户自定义的变量
  •       5.2 csv批量添加
  •       5.3 用户参数
  •       5.4 随机数函数
  •       5.5 计数器函数
  •       5.6 时间函数
  • 六、Jmeter断言
  •       6.0 断言介绍
  •       6.1 响应断言
  •       6.2 大小断言
  •       6.3 持续时间断言
  •       6.4 Json断言
  • 七、Jmeter直连数据库
  • 总结


前言


四、信息头管理器

作用:

新增修改实现时提交的数据是 JSON 格式的,需声明提交的数据的内容类型。
即:只要提交数据是JSON格式,就需要创建信息头管理器。

创建步骤:

测试计划--添加配置元件--信息头管理器

图示说明:

注意:只要前面有🔧一样标志的一般都放到最上面


举实例说明:

我们通过测试学院-新增接口,来使用信息头管理器来提交的数据是 JSON 格式的http请求。

(1)创建信息头管理器,输入名称和值(固定的)。

名称:Content-type         值:application/json;charset=utf-8


(2)在http请求中提交JSON格式的数据。

(3)查看结果树


五、Jmeter参数化

(1)定义:使用不同的测试数据,调用相同的测试方法进行测试

(2)本质:实现测试数据与测试方法的分离

(3)实现方式:

  • 用户定义的变量——全局变量
  • 用户参数——为每个用户分配不同的参数值
  • CSV数据文件设置——文件方式参数化
  • 函数——随机数据
  • 数据库

5.1 用户自定义的变量

(1)使用场景定义全局变量

(2)使用步骤

  1. 添加线程组
  2. 添加配置原件--添加用户定义的变量。格式:变量名 - 变量值
  3. 添加HTTP请求,引用定义的变量名。格式:${变量名}
  4. 查看结果树

(3)图示说明:


(4)举例说明:

定义一个用户自定义一个HTTP请求中路径的变量,并且在HTTP请求中引用自定义的代表路径的变量。

图示步骤说明:

(1)定义HTTP请求中路径的变量。

(2)在http请求中引用该路径变量

(3)查看结果树:


5.2 csv批量添加

CSV 逗号分隔值,是一种简洁且常见的数据存储格式
实现步骤:
1、使用 CSV 文件存储测试数据。
2、编写被复用的学院新增脚本模板
注意2: 编码集使用 UTF-8 无 BOM 格式
3、编辑设置csv文件属性
注意:把线程组中的循环次数设置为永远。(方便知道文件中有多少条数据,不用自己数)

实例说明:

使用csv文件进行存储测试数据,然后设置csv数据文件,最后以${变量名}的方式传入http请求当中,将线程组循环次数设置为永远,最后修改csv文件属性。

(1)使用 CSV 文件存储测试数据:

(注意需要用英文逗号分隔开变量名)


(2)创建csv数据文件格式,并且修改其属性。

1.创建csv数据文件。

2.修改其属性参数。

3.http请求中调用变量。

4.查看结果树


5.3 用户参数

实现步骤:
1、编写被复用的学院新增脚本模板
2、使用 用户参数存储测试数据
3、将数据导入脚本模板
4、设置执行次数

实例说明:

学院新增脚本模板设置用户参数。
步骤1:创建用户参数模块

步骤2:设置用户参数信息。

注意:

数据设计规则:

第一列声明每条数据的字段名称,第二列以及以后,每一列对应一条数据。


步骤3:将数据导入http脚本模板(以${变量名}方式)


步骤4:设置执行次数


5.4 随机数函数

函数使用步骤:

1.打开函数助手

2.选择所需函数

3.为函数传参

4.生成并复制调用格式

5.函数运行结果预览

图示说明:


随机数函数使用:

__Random 随机数函数
参数1:取值范围最小值(包含)
参数2:取值范围最大值(包含)

举实例说明:

放到http请求名称后面用于设计随机数排序http请求。

(1)设置函数配置:


(2)添加在请求后面:


5.5 计数器函数

计数器函数使用:

__counter计数器函数

TRUE(每个用户都有自己的计数器)

FALSE(所有用户共用一个计数器)

举实例说明:

(1)TRUE(每个用户都有自己的计数器)

(2)FALSE(所有用户共用一个计数器)


5.6 时间函数

时间函数使用:

__time 时间函数
获取当前时间的函数
无参: 获取的是距离 1970/01/01 00:00:00 的毫秒值
参数1: yyyyMM_dd HH:mm:ss 格式化成 年\月_日 时:分:秒 格式

举实例说明:

(1)函数设置配置:

(2)函数设置配置:


六、Jmeter断言

6.0 断言介绍

(1)断言定义 让程序代替人工判断响应结果是否符合预期
(2)分类
  • 响应断言 = 断言状态码和响应体
  • 大小断言 = 判断响应内容的字节长度
  • 断言持续时间 = 判断响应时间

(3)断言步骤:
  • 1、按照之前的实现编写测试脚本
  • 2、为被判断的取样器添加断言组件
  • 3、直接运行查看结果
  • 断言通过: 无提示
  • 断言失败: 给出错误

6.1 响应断言

响应断言 = 断言状态码和响应体


图示说明:

相关配置解析:

响应文本:来自服务器的响应文本,即主体
响应代码:响应的状态码,例如:200
响应信息:响应的信息,例如:OK
响应头:响应头信息
请求头:请求头信息
URL样本:请求URL
文档(文本):响应的整个文档
忽略状态:忽略返回的响应状态码
包括:文本包含指定的正则表达式
匹配:整个文本匹配指定的正则表达式
相等:整个返回结果的文本等于指定的字符串(区分大小写)
字符串:返回结果的文本包含指定的字符串(区分大小写)
否:取反
或者:如果存在多个测试模式,勾选代表逻辑或,不勾选代表逻辑与
测试模式:即填写你指定的结果(可填写多个)


举实例说明:

判断http请求中的状态码是否为200.


6.2 大小断言

大小断言 = 判断响应内容的字节长度


图示说明:


6.3 持续时间断言

(1)作用:

检查HTTP请求的响应时间是否超出要求范围

(2)使用步骤:

添加线程组->添加HTTP请求->添加断言持续时间设置持续时间->添加查看结果树.


图示说明:


6.4 Json断言

(1)使用场景:

HTTP请求的响应结果为JSON格式时,可以使用JSON断言

(2)使用步骤:

添加线程组->添加HTTP请求->添加JSON断言配置参数->添加查看结果树查看断言结果


图示说明:

相关配置解析:

  • Assert JSON Path exists:用于断言的JSON元素的路径(实际结果)
  • Additionally assert value:如果您想要用某个值生成断言,请选择复选框
  • Match as regular expression:使用正则表达式断言
  • Expected Value: 期望值(期望结果)
  • Expect null:如果希望为空,请选择复选框
  • Invert assertion (will fail if above conditionsmet):反转断言(如果满足以上条件则失败)

七、Jmeter直连数据库

(1)直连数据库的作用:

  • 用作请求的参数化。例如:登录时需要的用户名可以从数据库中查询获取
  • 用作结果的断言。例如:添加购物车下单时,检查接口返回的订单号,是否与数据库中生成的订单号一致
  • 清理垃圾数据。例如:添加商品(商品名/编号等不能重复),再执行该脚本不能成功,需要在下次执行前删除该商品数据
  • 准备测试数据。例如:通过数据库来准备大量的性能测试数据

(2)直连数据库的步骤:

步骤一.添加Mysql驱动jar包


步骤二.配置数据库连接信息

添加步骤:测试计划->线程组->配置元件->JDBC Connection Configuration


步骤三.添加JDBC请求

步骤方法:

测试计划->线程组->取样器->JDBC Request

总结

这篇关于【JMeter接口测试工具】第二节.JMeter基本功能介绍(中)【入门篇】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040204

相关文章

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.