Jmeter做接口测试

1.Jmeter的安装以及环境变量的配置

Jmeter是基于java语法开发的接口测试以及性能测试的工具。
jdk:17 (最新的Jeknins,只能支持到17)
jmeter:5.6 官网:http://jmeter.apache.org/download_jmeter.cgi
认识JMeter的目录:
backups目录:备份脚本
bin目录:模板,主jar包,启动文件,jmeter.propties全局配置文件。jmeter-server.bat分布式压
测。
修改全局配置文件:
language=zh_CN 设置为中文
sampleresult.default.encoding=utf-8
extras目录:存放和集成第三方的一些文件。
lib目录:jar包

2.使用Jmeter执行接口测试

1.测试计划

在一个测试计划中可能存在多个线程组

线程组之间在执行时是没有顺序的。如果希望线程按顺序执行,则需要勾上【独立运行每个线程组】

2.Jmeter的组件作用域

组件可以作用于父组件
组件可以作用于同级组件
组件可以作用于同级组件的子组件

3.线程组和测试片段

测试片段就是一个特殊的线程组

线程组

线程组适用于自己调试或者单个测试人员去调试

在线程组中也可以创建模块控制器去执行测试片段

测试片段和include处理器

测试片段是特殊的线程组,和线程组同级别。用于多个测试之间协同做接口测试。主要是和模块控
制以及Include控制结合使用。

特点:
1.默认是禁用状态。
2.单个测试片段无法执行,需要结合模块控制器(自己调试)以及Include控制器(leader)执行。

使用include控制器去执行该测试片段(注意:要添加对应的测试片段存放路径)

4.测试单个接口

接口信息(事例)

添加配置原件

HTTP请求默认值

协议: 根据url

服务器名称或IP: 跟在协议后面的第一段字符串

端口号: http--80,https--443

HTTP Cookie管理器

用于传入cookie

用户定义的变量

相当于全局变量

填写接口信息

新建一个http请求,然后填入相关信息

web服务器: 同HTTP请求默认值, 如果信息与默认值相同则不用填, 如果不同则填

HTTP请求: GET,POST,PUT....(根据接口信息填)

路径: url中ip地址后面的字符串

查看接口执行结果

添加一个查看结果树

执行后进去查看对应接口的执行结果,查看响应信息是否符合期望

5.接口关联(多个接口)

什么是接口关联

当一个接口(接口1)的响应结果为另一个接口(接口2)的传参时, 需要先执行接口1,并通过提取器获取对应的结果数据, 然后将结果数据再放入接口2的对应位置

常用提取器

正则表达式提取器

引用名称相当于变量名, 可使用 ${引用名称} 来使用该变量

正则表达式可以提前在查看结果树中测试是否可以获取得到

语法: 使用字典的形式填写,在value部分填入 (.*?) 即可(记得加引号)

如果要获取多个值,可以在木板部分加入多个 $*$ 的结构 一个 $*$ 代表接收一个对应位置的值

边界提取器

语法: 和正则比较相似

左边界为:  "key":"

右边界为:  "

JSONpath提取器

Json语法:
(1) $ 根节点
(2).或[] 去子节点
(3)如果是数组(llist),则通过下标取值
(4)相对路径用法:$..name 这里的name一般需要唯一。
(5)列表切片:$.tags[0:3]
总结:看到字典则用.看到列表则用[0]下标,下标从0开始。

Xpath提取器

同web自动化里面的定位方式,一般用于返回html网页时。

关联事例

在上一个接口中我使用正则表达式提取机中的引用名称为token,所以该接口的路径如下填写:

6.动态参数接口测试

工具--》函数助手对话框。
1.随机数字函数(在给定数字范围随机一个整数)

2.随机字符串函数(根据传入的内容字符串和长度,随机出一个新的字符串)


3.随机时间戳函数(根据当前时间生成时间戳)


4.其他函数(大写)(使用JavaScript函数)

在字符串(带变量的字符串也可以)后面加上 .toUppCase() 

3.接口测试常规断言和数据库断言

常规断言

断言作用在接口用例中

1.响应断言

2.json断言

3.beanshell断言

主要通过Failure标识是否失败和FailureMessage标识失败信息。
Failure=true 失败,Failure=false 成功。

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

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

相关文章

【Web】Ctfshow SSRF刷题记录1

核心代码解读 <?php $url$_POST[url]; $chcurl_init($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $resultcurl_exec($ch); curl_close($ch); ?> curl_init()&#xff1a;初始curl会话 curl_setopt()&#xff1a;会…

【力扣面试经典150题】(链表)K 个一组翻转链表

题目描述 力扣原文链接 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。 你不能只…

【Python数据结构与算法】——(线性结构)精选好题分享,不挂科必看系列

&#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏:<<Python数据结构与算法专栏>>&#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 时间复杂度大小比较 1.time complexity of algorithm A is O(n^3) while algorithm B is O(2^n). Which o…

CentOS 7 安装CMake指定版本3.21.2

背景&#xff1a;今天在CentOS 7 电脑上安装C 日志框架SpdLog-1.12.0&#xff0c;提示如下错误信息&#xff1a; [rootlocalhost build]# cmake .. && make -j CMake Error at CMakeLists.txt:3 (cmake_minimum_required):CMake 3.10...3.21 or higher is required. …

OSI参考模型

目录 一. OSI参考模型的各层功能二. 网络排错三. 网络安全四. 实体、协议、服务和服务访问点SAP五. TCP IP体系结构 一. OSI参考模型的各层功能 \quad \quad \quad \quad 我们首先来看应用层实现的功能 每个字段的各种取值所代表的意思 \quad \quad 比如要保存的文件内容是ab…

DAC实验(DAC 输出三角波实验)(DAC 输出正弦波实验)

DAC 输出三角波实验 本实验我们来学习使用如何让 DAC 输出三角波&#xff0c;DAC 初始化部分还是用 DAC 输出实验 的&#xff0c;所以做本实验的前提是先学习 DAC 输出实验。 使用 DAC 输出三角波&#xff0c;通过 KEY0/KEY1 两个按键&#xff0c;控制 DAC1 的通道 1 输出两种…

论文速览 Arxiv 2023 | DMV3D: 单阶段3D生成方法

注1:本文系“最新论文速览”系列之一,致力于简洁清晰地介绍、解读最新的顶会/顶刊论文 论文速览 Arxiv 2023 | DMV3D: DENOISING MULTI-VIEW DIFFUSION USING 3D LARGE RECONSTRUCTION MODEL 使用3D大重建模型来去噪多视图扩散 论文原文:https://arxiv.org/pdf/2311.09217.pdf…

SQL SERVER 2008安装教程

SQL SERVER 2008安装教程 本篇文章介绍了安装SQL Server 2008企业版的软硬件配置要求&#xff0c;安装过程的详细步骤&#xff0c;以及需要注意的事项。 安装步骤 (1). 在安装文件setup.exe上&#xff0c;单击鼠标右键选择“以管理员的身份运行”&#xff0c;如下图所示&#…

某60区块链安全之不安全的随机数实战一

区块链安全 文章目录 区块链安全不安全的随机数实战一实验目的实验环境实验工具实验原理实验内容攻击过程分析合约源代码漏洞EXP利用 不安全的随机数实战一 实验目的 学会使用python3的web3模块 学会以太坊不安全的随机数漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工…

基于深度学习的恶意软件检测

恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…

【Go学习之 go mod】gomod小白入门,在github上发布自己的项目(项目初始化、项目发布、项目版本升级等)

参考 Go语言基础之包 | 李文周的博客Go mod的使用、发布、升级 | weiGo Module如何发布v2及以上版本1.2.7. go mod命令 — 新溪-gordon V1.7.9 文档golang go 包管理工具 go mod的详细介绍-腾讯云开发者社区-腾讯云Go Mod 常见错误的原因 | walker的博客 项目案例 oceanweav…

电子学会C/C++编程等级考试2022年03月(一级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…

【论文阅读】2736. 最大和查询-2023.11.17

题目&#xff1a; 2736. 最大和查询 给你两个长度为 n 、下标从 0 开始的整数数组 nums1 和 nums2 &#xff0c;另给你一个下标从 1 开始的二维数组 queries &#xff0c;其中 queries[i] [xi, yi] 。 对于第 i 个查询&#xff0c;在所有满足 nums1[j] > xi 且 nums2[j]…

Angular 由一个bug说起之二:trackBy的一点注意事项

trackBy是angualr优化项目性能的一种方法, 通过返回一个具有绑定性的唯一值, 比如id&#xff0c;手机号&#xff0c;身份证号之类的&#xff0c;来让angular能够跟踪数组的项目&#xff0c;根据数据的变化来重新生成DOM, 这样就节约了性能。 但是如果是使用ngFor循环组件&…

iTerm2+oh-my-zsh搭个Mac电脑上好用好看终端

根据苹果网站上介绍&#xff0c;bash是 macOS Mojave 及更早版本中的默认Shell&#xff0c;从 macOS Catalina 开始&#xff0c;zsh(Z shell) 是所有新建用户帐户的默认Shell。 1. 安装Oh my zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzs…

Spring 配置

配置文件最主要的目的 : 解决硬编码的问题(代码写死) SpringBoot 的配置文件,有三种格式 1.properties 2.yaml 3.yml(是 yaml 的简写) SpringBoot 只支持三个文件 1.application.properties 2.application.yaml 3.application.yml yaml 和 yml 是一样的,学会一个就行…

JAXB的XmlElement注解

依赖 如果基于JAX-WS开发&#xff0c;可以在maven工程的pom.xml文件中增加如下依赖&#xff0c;会将依赖的JAXB库也下载下来&#xff1a; <dependency><groupId>jakarta.xml.ws</groupId><artifactId>jakarta.xml.ws-api</artifactId><vers…

redis三种集群方式

redis有三种集群方式&#xff1a;主从复制&#xff0c;哨兵模式和集群。 1.主从复制 主从复制原理&#xff1a; 从服务器连接主服务器&#xff0c;发送SYNC命令&#xff1b; 主服务器接收到SYNC命名后&#xff0c;开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所…

后端技术知识点内容-全部内容-面试宝典-后端面试知识点

文章目录 -2 flink-1 linux of viewlinux查看占用cup最高的10个进程的命令&#xff1b; 〇、分布式锁 & 分布式事务0-1分布式锁--包含CAP理论模型概述分布式锁&#xff1a;分布式锁应该具备哪些条件&#xff1a;分布式锁的业务场景&#xff1a; 分布式锁的实现方式有&#…

【MySQL--->用户管理】

文章目录 [TOC](文章目录) 一、用户管理表二、基本操作三、用户权限分配给用户某个数据库中某个表的某个权限. grant 权限 on 库.表名 to 用户名主机名. ![在这里插入图片描述](https://img-blog.csdnimg.cn/fe8eb171ef9343c3a09bd64d4f0db5c1.png)分配给用户某个数据库中全部表…