jmeter简单使用以及报告生成

jmeter入门

    • 前置准备
    • jmeter目录介绍
    • jmeter常用组件
    • jmeter简单食用

第一次写文章,主要就是一些简单的自学笔记,记录一下自己以后能方便看,大家需要的话也可自行取用,这些年干下来,我发现内容不重要,重要的是思考。下面直接上正题。

前置准备

要进行jmeter测试,首先我们需要接口,接口从哪里来呢,我这边用让chatgpt帮我写了,不得不说,这个AI是真的强大,只要简单提问,他能帮你解决大部分问题。
在这里插入图片描述
具体代码如下,这边采用的是Flask框架对一张学生表进行增删改查


from flask import Flask, jsonify, request
import pymysqlapp = Flask(__name__)# 连接MySQL数据库,根据自己本地数据库进行设置
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='test')# 查询学生信息
@app.route('/students', methods=['GET'])
def get_students():cursor = conn.cursor()cursor.execute('SELECT * FROM student')students = cursor.fetchall()students_list = []for student in students:student_dict = {'id': student[0],'name': student[1],'age': student[2],'gender': student[3]}students_list.append(student_dict)return jsonify(students_list)# 添加学生信息
@app.route('/students', methods=['POST'])
def add_student():data = request.get_json()name = data['name']age = data['age']gender = data['gender']cursor = conn.cursor()cursor.execute('INSERT INTO student (name, age, gender) VALUES (%s, %s, %s)', (name, age, gender))conn.commit()return jsonify({'message': 'Student added successfully'})# 更新学生信息
@app.route('/students/<int:id>', methods=['PUT'])
def update_student(id):data = request.get_json()name = data['name']age = data['age']gender = data['gender']cursor = conn.cursor()cursor.execute('UPDATE student SET name=%s, age=%s, gender=%s WHERE id=%s', (name, age, gender, id))conn.commit()return jsonify({'message': 'Student updated successfully'})# 删除学生信息
@app.route('/students/<int:id>', methods=['DELETE'])
def delete_student(id):cursor = conn.cursor()cursor.execute('DELETE FROM student WHERE id=%s', (id,))conn.commit()return jsonify({'message': 'Student deleted successfully'})if __name__ == '__main__':app.run(debug=True)

#注:设计库表前记得先安装mysql,安装教程百度一下都有,我用的是mysql5.7版本
一般玩家都是先设计好数据库再进行编码,而我这里是先编好了代码,然后再去设计库表,不过问题不大,能实现功能就行,从代码中看出,学生表有4个字段,id,name,age,gender,一般的表设计来说,id是自增主键,name和gender为string类型,age的话为int,我这里用navicat(一个叫这个名字的数据库连接工具)直接进行表的创建,并且往里面插入了几条数据
在这里插入图片描述
在这里插入图片描述
也可通过命令来创表和插入数据,具体代码如下

CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL,`age` int(255) DEFAULT NULL,`gender` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;INSERT INTO `student` VALUES (1, '张三', 15, '女');
INSERT INTO `student` VALUES (2, '王五', 16, '男');
INSERT INTO `student` VALUES (3, '赵六', 17, '女');

然后就可以通过postman对启动的ip和接口的拦截路由对接口进行测试
在这里插入图片描述
在这里插入图片描述
接口调用成功后并前往数据据查看对应信息,上图我调用了新增接口,下图为新增的数据,其他接口也类似,不一个一个列举了,到这里,接口定位就完成了。
在这里插入图片描述

然后就是jmeter的安装,百度一下,jmeter运行依赖java环境,还有安装jdk,百度一下,我这边采用的jmeter版本是5.2.1,jdk版本为1.8。

jmeter目录介绍

在这里插入图片描述
backups:脚本备份目录,格式Jmx
bin目录:存放jmeter启动脚本,配置文件,模块文件
jmeter.bat 启动jmeter
jmeter.properties 核心配置文件

docs:离线帮助文档
extras:存放与第三方的集成构建文件,集成Ant Jenkins
lib:存放核心jar包
licenses:许可证文件

jmeter常用组件

1、测试计划:起点,所有组件的容器
2、线程组:代表一定数量的用户
3、取样器:像服务器发送请求的最小单元
4、逻辑控制器:结合取样器实现一些复杂的逻辑
5、前置处理器:在请求之前的工作
6、后置处理器:在请求之后的工作
7、断言:判断是否请求成功
8、定时器:负责在请求之间的延迟间隔。固定,高斯,随机
9、配置文件:配置信息
10、监听器:负责收集结果

顺序:非常重要
测试计划》线程组》配置元件》前置处理器》定时器》取样器》后置处理器》断言》监听器

作用域:非常重要
必须组件:测试计划,线程组,取样器
辅助组件:除了必须组件外

辅助组件作用于父组件,同级组件,以及同级组件下的所有子组件

在这里插入图片描述

线程组的重要参数说明:
1、线程数:用户数
2、Ramp-up:启动用户数的时间
3、循环次数 总请求数=线程数*循环次数

配置元件重要参数说明:
1、Http Cookie管理器 cookie:客户端发送给服务器的cookie(从第一次到第n次) ,set-cookie:服务器发送给客户端的cookie(只在第一次请求的时候),新建完后自动管理cookie
2、Http请求默认值
http:80 https:443,一般设置协议,服务ip,端口号
3、用户定义变量
自定义变量

取样器重要参数说明:
Http请求:如果部分参数不填写,就按照默认值
自动重定向:当发送请求返回状态码为30X,只会跳转到最终结果
跟随重定向:会记录每一步的路径
对post使用multipart/form-data:一般用于文件上传

jmeter简单食用

添加测试计划后,在测试计划下建立取样器,把自己写的接口写进去,具体参数如下
在这里插入图片描述
再添加响应断言
在这里插入图片描述
具体参数解释如下
响应文本:返回的json内容
响应代码:状态码
响应信息:ok
url样本:接口路径
文档(文本):返回的json数据以文本的形式去判断(相当于json转字符串)
忽略状态:当有多个断言时,一个失败了,另一个成功,那么结果是成功
其他不一一解释,字面意思

包括:响应内容包含需要匹配的字符串,大小写敏感,支持正则
匹配:响应内容要于匹配的字符串完全相同,大小写敏感,支持正则
相等:响应内容要于匹配的字符串完全相同,大小写敏感,不支持正则
字符串:响应内容包含需要匹配的字符串,大小写敏感,不支持正则

最后添加察看结果树并启动

在这里插入图片描述
当发现乱码时候可以切换编码格式为json,如下图
在这里插入图片描述

jmeter非GUI(界面)运行
jmeter -n -t HTTP请求1.jmx -l result.jtl 生成报告
-n 代表非界面方式运行
-t 指定jmx文件的位置
-l 指定生成jtl格式的结果

报告生成后可以新建查看结果树来查看jmeter报告
![在这里插入图片描述](https://img-blog.csdnimg.cn/7987ff20fcd4488d82099b909b1f6b44.pn
在这里插入图片描述

jmeter -n -t HTTP请求1.jmx -l result.jtl -e -o 文件夹名 ==>生成html报告
-e 代表生成html报告
-o 指定报告生成的文件夹(这个文件夹必须是空目录)
在这里插入图片描述

在这里插入图片描述

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

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

相关文章

学会 IDEA 中的这个功能,就可以丢掉 Postman 了

点击关注公众号&#xff0c;Java干货及时送达&#x1f447; 转自&#xff1a;oschina 作者&#xff1a;凯京技术团队 my.oschina.net/keking 前言 接口调试是每个软件开发从业者必不可少的一项技能&#xff0c;一个项目的的完成&#xff0c;可能接口测试调试的时间比真正开发写…

分享:python+Windows自带任务计划程序,实现定时自动删微信的video文件夹

目录 0. 背景1. 使用python实现删微信的video文件夹1.1 代码1.2 打包 2. 使用python实现自动添加任务计划程序2.1 代码2.2 打包 3. 使用bat脚本方便操作3.1 手动删.bat3.2 加入定时任务.bat 0. 背景 pc微信实在太占用磁盘空间了&#xff0c;特别是其中的视频文件夹。所以有了这…

搭建本地服务器+jshtml访问mysql并显示输出

文章目录 人生苦短&#xff0c;先问chatgpt1. 用Tomcat配置本地网站2. 访问本地网页3. js访问本地mysql并显示在html中 PS: Chatgpt实在是有点强~~ 今天是悲伤的一天&#xff0c;把mysql密码忘了&#xff0c;网上搜的方法没用&#xff0c;本来以为卸载部分组件就好&#xff0c;…

3句代码,实现自动备份与版本管理

前言&#xff1a; 服务器开发程序、测试版本等越来越多&#xff0c;需要及时做好数据的版本管理和备份&#xff0c;作为21世界的青年&#xff0c;希望这些事情都是可以自动完成&#xff0c;不止做了数据备份&#xff0c;更重要的是做好了版本管理&#xff0c;让我们可以追溯我们…

【编程实践】Linux Shell 编程:使用 循环和递归 实现斐波那契数列代码

用 Linux Shell 编程语言递归实现斐波那契数列代码:循环和递归 Linux Shell 编程语言是一种强大的工具,它可以轻松地实现程序设计语言中的常见算法。 斐波那契数列 斐波那契数列是一种经典的算法,它的定义如下: 斐波那契数列(Fibonacci Sequence)是以递归的方法来定义: …

chatgpt赋能python:Python下载与运行指南-让Python脚本更容易使用

Python下载与运行指南 - 让Python脚本更容易使用 Python已经成为世界上最流行的编程语言之一。Python具有简单易用的特点&#xff0c;几乎可以开始创建任何类型的应用程序或脚本。如果你是一名新手或是一名经验丰富的开发者&#xff0c;Python都是一款优秀的编程语言。 本篇文…

人教版初中英语听力软件,人教版初中英语听力mp3

新目标英语九年级上册Tapescripts所有的翻译 east东方的、eagerness热心、eagle鹰、ear耳朵&#xff0c;听力、early早等。 词汇解析一、east 英 [iːst]   美 [iːst]    adj. 东方的adv. 向东方n. 东方&#xff1b;东部1、east的基本意思是“东&#xff0c;东方”&…

英语语音题

语音题 a i i在nd和gh前发[ai] y th 词首[θ] the、ther结尾[] ch tion ow[哦][奥] oo ar ed 清读[t] 浊元读[d] t、d后读[id] 清&#xff1a;破客服吃屎&#xff0c;戳死赐死 ea o s ou e 欸 b ure 呃 优呃 屋呃 h gh ex 后有元[igz] 后有辅[iks] c al ai wh w在wr、…

ChatGPT: Optimizing Language Models for Dialogue

1.简介 最近ChatGPT很好&#xff0c;本文根据https://openai.com/blog/chatgpt/翻译总结的。 ChatGPT: Optimizing Language Models for Dialogue。如标题&#xff0c;ChatGPT为了对话使用的。 ChatGPT是InstructGPT的兄弟模型&#xff0c;它被训练为以提示prompt的方式遵循…

挑战OpenAI,马斯克宣布xAI正式成立:目标是“了解宇宙真实本质”!

挑战OpenAI&#xff0c;马斯克宣布xAI正式成立&#xff1a;目标是“了解宇宙真实本质”&#xff01; 一、马斯克官宣xAl硬刚OpenAl二、创始团队1/3成员是华人三、马斯克下了一盘棋 北京时间7月13日凌晨&#xff0c;马斯克在Twitter上宣布&#xff1a;“xAI正式成立&#xff0c;…

昨天OpenAI GPT-4,今天微软Copilot,轮番上阵碾压谁?

来源&#xff1a;《飞哥说AI》公众号 作者&#xff5c;高佳 创意&#xff5c;李志飞 微软Copilot横扫Office全系产品&#xff0c;正式改名为Microsoft 365 &#xff0c;其野心昭然。 微软全家桶自带AI智能驾驶模式&#xff0c;意味着 Windows 全AI系列新品将火速渗透各行各业…

自然语言处理:Word2Vec

每种动物都有自己的语言&#xff0c;机器也是&#xff01;自然语言处理&#xff08;NLP&#xff09;就是在机器语言和人类语言之间沟通的桥梁。 NLP通常有情感分析、文本挖掘、信息抽取、信息检索、问答/对话系统&#xff08;聊天机器人&#xff09;、语音识别、机器翻译等应用…

周鸿祎:ChatGPT可能两三年内产生自我意识;字节加入大模型之战;Ubuntu下一版本默认不再支持Flatpak| 极客头条...

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 苏宓 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&#xf…

chatGPT在线网页写论文

帮我写一篇关于秦始皇对于中国的影响论文 秦始皇&#xff0c;即嬴政&#xff0c;是中国历史上的伟大统治者之一。他在位期间统一了中国各个诸侯国&#xff0c;建立了秦朝&#xff0c;并为中国历史上的统一奠定了基础。秦始皇对于中国的影响是深远而持久的&#xff0c;不仅在政…

如何加速大模型开发?技术方案拆解来了:昇思MindSpore技术一览

随着ChatGPT爆火出圈&#xff0c;狂飙之势从22年底持续到23年初&#xff0c;与以往的技术突破不同的是&#xff0c;此次的大模型不仅被技术界关注&#xff0c;而且备受投资界、产业界和大众消费者的追捧&#xff0c;使它成为历史上最快月活过亿的现象级应用&#xff0c;继而引发…

Python项目:基于爬虫+Flask实现招聘岗位数据分析与可视化

在 基于爬虫Flask实现豆瓣电影Top250数据分析 的基础上,进一步实战,开发出本项目 基于爬虫Flask实现的招聘岗位数据分析与可视化,干货多多,也学到了很多的东西。 文章目录 1、项目简介:2、成果展示:3、后台展示4、项目总结: 1、项目简介: 项目主要是对招聘网站 51job 上的招聘信…

微信小程序输入框字数限制以及计算

wxml代码如下: <textarea class"textarea-bg font_s33 font_c31" id"information" maxlength150 placeholder"请输入遇到的问题或建议" name"information" value"{{information}}"bindinput"getDataBindTap"&…

百度推出可24时直播带货的AI数字人

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 前几天我还说做直播太内卷&#xff0c;运营成本太高了呢&#xff0c;今天百度就推出了AI数字人&#xff0c;同时推出了曦灵数字人直播平台。它最大的特色功能就是&#xff1a; (1)有基础文本&#…

从开店营销到智能化私域运营,有赞发布人工智能引擎Jarvis

“以往在私域发起一场营销活动&#xff0c;从活动策划&#xff0c;到历史数据分析&#xff0c;再到内容排期&#xff0c;整个策划阶段往往需要一周以上的时间&#xff0c;而现在通过营销画布&#xff08;MA&#xff09;以及其中内嵌的人工智能能力&#xff0c;只需要30分钟不到…

小度助手和它背后的百度AI野望

乾明 发自 凹非寺量子位 报道 | 公众号 QbitAI 百度最近的一则高管晋升通告&#xff0c;反映出小度助手对百度的重要性不断提高。 最新一季财报刚结束&#xff0c;李彦宏一封内部信&#xff0c;将“小度助手”&#xff08;DuerOS&#xff09;负责人景鲲&#xff0c;晋升为公司副…