全网最牛最全面的全栈Jmeter性能测试之生成测试报告

news2024/11/18 3:48:28

结构

ps【文章末尾给大家留下了大量的福利】

测试计划

测试计划是顶级的层级⽬录的结构,

那么在这样的⽬录结构中,⾥⾯可以包含很多线程组

线程组

线程组我们可以简单的理解为postman测试⼯具⾥⾯的collection,那么在整体线程组⾥⾯,可以添加很多的测试 ⽤例

简单控制器

理解为⼀个⽂件夹,主要是区分不同模块之间

测试⽤例

要素: 1、请求地址

 

 2、请求参数

 get请求⽅法 请求参数是query params的,那么它的形式是?key1=value1&key2=value2

post&put请求但是表单数据格式

 post&put请求⽅法但是是JSON数据格式&XML的数据格式

 

 post&put请求⽂件上传

 3、请求⽅法

 4、请求头

请求头是在配置元件⾥⾯的HTTP信息头管理器添加的 怎么添加 右键测试⽤例,然后在配置⽂件中选择HTTP信息头管理器,具体如下:

 顺序 ⼀般性的是在HTTP请求的前⾯ 具体加哪些? 互联⽹产品 User-agent Count-type cookie referer ⾃研公司 content-type ⾃定义 为了产品的安全体系考虑,后端会⾃定义部分请求头,那么也是必须加的

测试结果 查看结果树

请求地址&请求参数

 请求&响应

响应数据

 

不同数据格式的展示

 

 测试断⾔

⼀个测试⽤例必须得有断⾔,assert 其实了可以理解为实际结果与期望结果的对⽐

JSON断⾔

就是针对JSON的数据格式来进⾏的 Example1 {"name":"wuya"} name example2 [{"name":"wuya"}] [0].name

JSON Path Assertion 特别强调,⾃带的$.是默认的,不要管

Example1 {"name":"wuya"} $.name example2 [{"name":"wuya"}] $.[0].name

响应断⾔

默认的来验证响应⽂本数据,其实它可以来验证迷糊的匹配

 效率提升

HTTP请求默认值

 断言结果

 编码处理

响应数据编码

修改jmeter配置⽂件jmeter.properties,是在bin⽬录下 请求参数中⽂ 内容编码添加utf-8  重启

动态参数&关联

动态参数描述

解决⽅案

后置处理器中的JSON提取器和正则表达式提取器

 变量调⽤ ${变量}

插件安装

生成测试报告

ant构建工具,该构建工具执行的时候依赖于build.xml的文件,在build.xml文件里面会定义具体执行的脚本,执行的顺序,以及测试报告存储的目录。

自动发送邮件,需要三个jar,分别是:activation.jar,commons-email-1.2.jar,mail.jar,这三个文件放在ant的lib目录下

 

 jmeter生成html文件测试报告:

先在jmeter安装的路径下找到bin目录下的jmeter.properties,用记事本打开该文件

修改如下:

 

修改源文件

 

 

 

 jemter接口测试报告怎么整合到Jenkins:

 就是在上述步骤的基础上把控制台命令在Jenkins的面

 

 结果

 JMETER测试组件

断言:就是对脚本进行断言的

逻辑控制器:就是用来控制脚本运行逻辑的

前置处理器:就是在请求发送之前对请求进行处理

后置处理器:就是在请求之后对响应进行处理

定时器:设置思考时间的一些元件

配置元件:就是对请求做一些配置处理的元件,如:cookie管理、请求默认值等等

    HTTP请求默认值:就是将线程组下面请求的重复参数放到请求默认值中,后续所有请求就不需要重复实现该参数设置, 会默认从该元件中获取所有参数值(将大家一样的部分分离出来,

相当于page层)。

    HTTP Cookie管理器:jmeter不会自动关联cookie,需要添加cookie管理器来关联cookie。

非测试元件

    HTTP代理服务器:用来录制脚本,要打开浏览器的服务代理器,但是不太可靠。(脚本录制BlazeMeter谷歌插件)

1,自定义变量

 

定时器

 

正则表达式,

跟JSON提取器一样都是定义动态参数环境变量,定义访问权限

https://tool.oschina.net/regex     正则表达式在线测试

 参数化 1——多用户请求,多线程运行参数化

 

 

 

参数化2——csv文件

记事本

 

csv文件

 

 重点:学习资料  

600g的学习资料懂的都懂

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

本地虚拟机linux中nginx搭建

nginx:主要管理服务器中的tomcat,将服务端接受的请求交给nginx来处理,分配给不同的tomcat处理,同时nginx根据每个服务器的性能来配置不同的权重,权重越大访问到的概率就越大,权重越小访问到的概率越低 安装nginx 1,在usr目录下创建…

个人网页设计成品DW静态网页 HTML网页设计结课作业 web课程设计网页规划与设计 Web大学生个人网页成品 web网页设计期末课程大作业

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

QGIS获取行政区geojson数据以及数据乱码修复

安装QGIS 1.下载 访问下面的地址,直接下载安装 https://qgis.org/zh-Hans/site/ 2.设置QGIS语言 点击Settings->Options 点击General,然后按图示选择对应选项。 点击确定,然后等待一会儿,关闭软件重新打开就好了。 安装Qu…

Matplotlib入门[07]——修改默认设置

Matplotlib入门[07]——修改默认设置 参考: https://ailearning.apachecn.org/Matplotlib官网 使用Jupyter进行练习 import numpy as np import matplotlib.pyplot as plt生成三角函数: x np.linspace(-np.pi, np.pi) c, s np.cos(x), np.sin(x)默认绘…

P3 PyTorch 维度变换

前言 参考 课时21 维度变换-2_哔哩哔哩_bilibili 目录: view unsqueeze squeeze Expand repeat 转置 contiguous Permute 例子一 view 作用: 重新调整Tensor的形状,通过shape,或size属性可以看出来 …

Maven从入门到精通

文章目录1.Maven简介1.1 传统项目管理状态分析1.2 什么是maven1.3 Maven的作用2.maven的安装与配置(1)maven的下载与安装(2)Maven目录结构(3)配置settings.xml(4)maven整合idea&…

chapter8——消抖技术

目录1.简介2.开关行为3.开关种类4.消抖5.消抖指南1.简介 在电子设备内两个金属触点随着触点的断开闭合便产生了多个信号,这就是抖动。“消抖”是用以确保在每一次断开或闭合触点时只有一个信号起作用的硬件设备或软件。机械开关和继电器触点通常由弹性金属制造&…

【RobotFramework】FOR循环应用

自动化测试过程中,如果我们想多次运行某段语句,且每次使用的值都不一样,那么我们就要使用到循环。 在Robot FrameWork中,循环使用到的关键字是FOR,常用见应用如下。 应用一: FOR ${变量} IN 参数1 参数2…

知识图谱-KGE-语义匹配-双线性模型-2019:RotatE

【paper】 RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space【简介】 本文是北大和加拿大的研究团队发表在 ICLR 2019 上的文章,提出了 RotatE(Rotation Embedding),主要思想是将实体表示为复向量&…

Drupal9自定义module添加多个定时任务

drupal的自定义cron常见的就是hook_cron,具体做法参见: Drupal踩坑:在自定义module中添加cron job 这种方法只能一个module添加一个cron。如果想添加多个自定义的cron怎么办?使用hook_cronapi。 有两个模块提供 hook_cronapi&…

DeepLab V3学习笔记

DeepLab V3遇到的问题和解决方法相关工作DeepLab V3中的两种模型结构cascaded modelASPP model相对于DeepLab V2的优化Multi-grid MethodASPP的改进消融实验cascaded model消融实验ASPP model消融实验和其他网络的对比实验总结网络模型图遇到的问题和解决方法 对于DeepLab系列…

nginx使用配置(亲测自用)

文章目录一、作用二、案例1.动静分离将静态资源放入Nginx目录下2.负载均衡常见的几种负载均衡方式1) 轮询(默认)2)weight3)ip_hash4)fair(第三方)5)url_hash(第三方&…

Flutter - Button样式及参数

Material 组件库中提供了多种按钮组件如ElevatedButton、TextButton、OutlineButton等,它们都是集成于ButtonStyleButton,所以他们大多数属性都和ButtonStyleButton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性…

基于萤火虫算法优化的lssvm回归预测-附代码

基于萤火虫算法优化的lssvm回归预测 - 附代码 文章目录基于萤火虫算法优化的lssvm回归预测 - 附代码1.数据集2.lssvm模型3.基于萤火虫算法优化的LSSVM4.测试结果5.Matlab代码摘要:为了提高最小二乘支持向量机(lssvm)的回归预测准确率&#xf…

通信原理 | CRC循环冗余校验码

CRC循环冗余码 CRC校验的手算演示异或运算和多项式步骤一、展开多项式得到CRC除数步骤二、原数据串末端加0(多项式最高是几次就加几个0)步骤三、从左往右,按位异或(所得结果如果不够长,前面的0别忘了添加)CRC(Cyclic Redundancy Check )循环冗余校验码 CRC校验的手算演…

MQ高级(二)死信交换机

一、初识死信交换机(P159) 当一个队列中的消息满足下列情况之一时,可以成为死信(dead letter): (1)消费者使用basic.reject或 basic.nack声明消费失败,并且消息的requeue…

使用opencv截取旋转框目标

使用opencv截取旋转框目标1、第一种方法2、第二种方法3、两种方法的简单对比4、opencv 最小面积矩形返回角度的理解4.1、version4.2之前4.1、version4.2之后本文列举了两种方法,使用的数据如图,用的是改版rolabelimg标注的标注文件有四个点的坐标: 1、…

mybatis详述

文章目录一、引言1.1 什么是框架?1.2 什么是ORM框架?1.3使用JDBC完成ORM操作的缺点?二、MyBatis框架2.1概念2.2 MyBatis开发步骤2.3 如何编写mybatis映射文件(规范)三、mybatis-config.xml 配置补充四、mybatis接口与映射文件指令间 传递参数4.1 传递…

安卓APP源码和设计报告——北京旅游系统

目 录 一、概述11 1.1 课题描述11 1.2 需求分析22 1.3 开发环境33 二、系统分析与概要设计55 2.1 系统功能分析55 2.2 系统模块结构图66 2.3 数据库表的设计66 三、北京旅游系统的登录功能模块的详细设计88 3.1 登录模块的功能描述88 3.2 登录模块的界面布局的设计9…

185: vue+openlayers 引用hover插件,展示各种鼠标cursor样式

第185个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中使用hover效果,这里是引用了一个hover插件。鼠标对应到相应的feature中时候,获取其类型,并且设定不同的鼠标样式。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果; 注意如果Ope…