news 2026/6/15 15:23:09

Jmeter接口测试:使用指南(下)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jmeter接口测试:使用指南(下)

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

上一篇我给大家讲了jmeter的基本介绍跟参数化和jmeter脚本及jmeter断言,今天让我们继续往下看,学习一下jmeter新的知识点。

一、Jmeter关联

我们知道断言是从返回结果中检查有没有预期的值,现在有一个问题,有一个购买商品的接口,必须要先登录才能够购买商品, 那么你调用接口的时候怎么知道是否已经登录了,一般这样的都会在调用的时候传一个token的参数,服务端判断token是否过期或者token是否正确,如果正确的话,那就是登录成功了就可以买东西了。

那么这样的话,你就要先获取到token,token是从呢来的呢,肯定是从登录接口返回的,因为要先登录嘛,那这样就得先调用登录接口, 获取到token,然后把获取到的token传给购买商品的这个接口。

关联就是做这个事的,它就是获取到返回的值,然后保存起来,给别的请求使用,或者做一些其他的处理。

=====Jmeter中的关联是通过正则表达式提取器来完成的。

=====

通过上面的关联就可以把返回中我们想要的值抓到了,给其他请求使用的时候,直接使用${name}即可,name就是你关联的时候设置的变量名。

二、Jmeter操作mysql

1、Jmeter操作mysql步骤

1)导入jdbc的jar包,因为jmeter本身不能直接连接mysql,所以需要导入第三方的jar包,来连接mysql

2)创建数据库连接配置,mysql的url、端口号、账号、密码

3)写sql,执行sql

4)查看结果

2、Jmeter数据库驱动列表

数据库

驱动

数据库url

mysql

com.mysql.jdbc.Driver

jdbc:mysql://host:port/{dbname}?allowMultiQueries=true

oracle

org.postgresql.Driver

jdbc:postgresql:{dbname}

PostgreSQL

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:user/pass@//host:port/service

MSSQL

com.microsoft.sqlserver.jdbc.SQLServerDriver

或者

net.sourceforge.jtds.jdbc.Driver

jdbc:sqlserver://IP:1433;databaseName=DBname

或者

jdbc:jtds:sqlserver://localhost:1433/"+"library"

3、Jmeter配置mysql连接

1)、添加一个JDBC Connection Configuration

2)配置mysql连接池的名称,后面发sql请求的时候指定连接哪里

3)数据库的url:jdbc:mysql://192.168.1.116:3307/bugfree?

allowMultiQueries=true

4)数据库驱动:这里就是指定连接什么类型的数据库,mysql、oracle、SqlServer等等

5)账号密码

三、Jmeter操作mongodb

1、Jmeter操作mongodb步骤

1)添加一个MongoDB Source Config,配置mongodb连接信息,指定ip和数据源

2)添加一个mongodb的请求脚本,指定数据源

3)写查询语句

4)查看结果

2、Mongodb操作语句

show dbs;查看所有数据库

use db;选择一个数据库

show collections;查看所有集合,也就是表

db.collection.find();#查询所有数据

db.collection.find({"name":"mongodb"});#查询指定的条件

db.collection.insert({"name":"mongodb","age":18});#插入数据

db.collection.update({“name”:“mongodb”},{$set:{“createtime”:“20150810”}});#更新数据

db.besttest.remove({“name”:“mongodb”});#删除指定数据

四、Jmeter压力测试

做压力测试也就是多少用户一起去操作,也就是设置多少并发,运行多久。

1、压力测试场景设置

一般我们在做压力测试的时候,分单场景和混合场景,单场景也就是咱们压测单个接口的时候,多场景也就是有业务流程的情况下,比如说一个购物流程,那么这样的场景就是混合场景,就是有多个接口一起来做操作。

1)单场景,一个请求就可以了

2)混合场景,多个请求

3)压测时间,一般场景都是运行10-15分钟,如果是做疲劳测试的话,可以压一天或者一周,根据具体的情况来定

2、压力测试数据准备

在做压测的时候,数据量少和数据量大的情况下,测试的结果是不一样的,所以,我们在设计场景的时候是要考虑到这种情况的,要测试数据库中数据量大和数据量小的情况,如果是要测试数据量大的情况下,就要造数据了,造数据可以使用jmeter,操作数据库来造数据,也可以使用python连接数据库,批量的造数据。

3、压力测试结果查看

查看结果关注的几个指标

1)tps是每秒钟处理的请求数,也就是指服务器的处理能力,tps越高说明服务器处理能力越好

2)响应时间,也就是每个请求的处理时间

3)并发用户数 也就是多少并发

五、Linux下运行jmeter压力测试

我们在做测试的时候,有时候要运行很久,公司用的测试服务器一般都是linux,就可以运行在linux下面,linux下面不能像windows一样有图形化界面,那怎么运行脚本呢,就先在windows上把脚本做好,然后在linux下运行即可,linux下运行jmeter是在jmeter的bin目录下的jmeter.sh这个shell脚本。

sh jmeter.sh -n –t a.jmx -l res.jtl

-n 代表以没有图形化界面启动

-t 代表后面是测试脚本

a.jmx 也就是我们做好的jmeter脚本

-l 代表测试结果

res.jtl 就是测试结果文件

查看结果的话,在查看结果树视图中导入这个res.jtl就可以查看到测试结果了

Jmeter添加负载机

我们在压测的时候,可能并发比较大, 一台机子已经启动不了那么多并发了,这个时候我们就要使用多台机子一起来发压力,就要添加压力机,添加压力机怎么添加呢,首先要在做压力机的机子上启动jmeter的代理,然后做为控制机的机子上添加上压力机的ip即可。

1)、Jmeter的bin目录下有一个jmeter-server,启动它即可,windows机子作为压力机的话,运行jmeter-sever.bat,linux作为压力机的话,运行jmeter-server

2)、然后在作为控制机的jmeter配置文件里添加压力机ip即可,jmeter的配置文件在bin目录下jmeter.properties,添加压力机的时候,在配置文件里面找到remote_hosts添加ip,然后重启jmeter就可以看到远程压力机了后重启jmeter就可

3)、在配置文件里面添加之后,重启jmeter,在运行的时候,就可以看到压力机的ip了,可以选择他来运行这个脚本,全部运行的话,也就是所有压力机上的全部都启动,就选择远程全部启动,就所有的压力机就都运行了。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 14:03:16

基于STC89C52单片机的智能窗帘控制系统设计

基于STC89C52单片机的智能窗帘控制系统设计 第一章 绪论 传统窗帘依赖人工手动开合,操作繁琐且无法根据环境变化自动调节,难以满足现代家居对便捷性、舒适性的需求。STC89C52单片机作为低成本、易上手的8位微控制器,适配普通家庭智能化改造的…

作者头像 李华
网站建设 2026/6/15 13:18:29

基于STM32单片机的智能家居设计

基于STM32单片机的智能家居设计 第一章 绪论 传统家居设备控制依赖人工操作,存在交互繁琐、能源浪费、缺乏环境自适应能力等问题,难以满足现代家庭对便捷、节能、智能的居住需求。STM32单片机凭借高性能、低功耗、丰富外设接口的优势,成为智能…

作者头像 李华
网站建设 2026/6/14 22:47:50

附录A:AMDGPU SVM 属性类型

概述 kfd_ioctl_svm_attr_type 枚举定义了 SVM(Shared Virtual Memory)的所有属性类型,用于控制 GPU 对共享虚拟内存的访问行为、数据位置偏好、以及一致性模式。 enum kfd_ioctl_svm_attr_type {KFD_IOCTL_SVM_ATTR_PREFERRED_LOC, // …

作者头像 李华
网站建设 2026/5/30 15:35:56

大模型技术落地全景图:规划、实现、应用与风险管理

本文系统介绍了大模型的概念与发展历程,详细解答了企业应用大模型的12个核心问题,涵盖建设规划、技术实现路径(RAG、AI Agent等)、行业应用现状、市场格局及风险管理,为企业提供从战略规划到落地实施的全方位指导,帮助企业在AI时代…

作者头像 李华
网站建设 2026/6/15 14:41:41

开题报告 springboot和vue-旅游信息系统

目录系统概述技术选型核心功能模块系统特色应用场景项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统概述 SpringBoot与Vue结合的旅游信息系统是一个前后端分离的现代化Web应用,旨在为用户提…

作者头像 李华