一文1800字使用Jmeter进行http接口性能测试!

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

为什么要做接口测试?

越底层发现bug,它的修复成本是越低的。

前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。

检查系统的安全性、稳定性,前端传参不可信

如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。

接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。

怎样做接口测试?

由于项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。

也可以用接口自动化来实现,就是用代码实现,框架和UI自动化差不多,发送请求用断言来判断。

为什么选择Jmeter进行http接口测试?

在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具。

但是Postman只能模拟单客户端的单次请求,而对于模拟多用户并发等性能测试,就必须借助其他的工具了,这里推荐功能强大的JMeter自动化测试工具,Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。

它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。

下面我就简单的介绍下使用Jmeter进行接口测试的方法。
一、接口测试环境准备
Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html
Jmeter下载址址:http://jmeter.apache.org/download_jmeter.cgi
插件的下载安装地址:http://www.jmeter-plugins.org/
二、创建工程:
1、打开Jmeter:下载好Jmeter后,双击bin目录下的jmeter.bat文件:


2、添加线程组:在“测试计划”上点击鼠标右键-->添加-->threads(Users)-->线程组,添加测试场景设置组件,接口测试中一般设置为1个“线程数”,根据测试数据的个数设定“循环次数”。


3、添加“HTTP Cookie管理器”:


4、添加“Http请求默认值”组件,当被测系统有唯一的访问域名和端口时,这个组件很好用:


5、在“HTTP 请求默认值”组件配置页面,填写被测系统的域名和端口,http请求的实现包版本以及具体协议类型,线程组里的所有“HTTP Sampler”可默认使用此设置。


6、在“线程组”里添加“HTTP 请求”的Sampler


7、在HTTP请求设置页面,录入被测接口的详细信息,包括请求路径,对应的请求方法,以及随请求一起发送的参数列表:


8、设置检查点:在被测接口对应的“HTTP 请求”上,添加“响应断言”


9、在设置页面上添加对相应结果的正则表达式存在性判断即可:


10、添加监听器:方便查看运行后的结果


运行结果:


总结:

上述步骤完成了一个简单测试案例的创建,复杂测试案例均在此基础上扩展完成。使用Jmeter工具开发的接口测试案例,一个子系统建议放在同一个 “测试计划”中,流程测试可以通过“线程组”来区分,这样也便于设定不同的测试数据个数。比较独立的接口,可以统一放在一个线程组内,顺序完成测试。  
同时,JMeter这个工具的强大之处不仅仅只有这一点,还可以单独对每个取样器添加各种控制器,从而做到不同取样器不同的循环次数,及不同取样器之间数据的引用。

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

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

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

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

相关文章

新版flask pin码计算

Python debug pin码计算 需开启debug from flask import Flask app Flask(__name__) app.route("/") def index():return "Hello World" app.run(debugTrue) /console路由填入上方控制台的 PIN 码即可执行 Python 命令 Flask 的 PIN 码计算仅与 werkze…

比 PyTorch 更快的嵌入Python库:FastEmbed

嵌入生成 已成为自然语言处理(NLP)中不可或缺的一部分。 无论是智能推荐、文本相似度计算,还是聊天机器人,嵌入技术都扮演着重要角色。然而,我们常常会陷入繁重的库和庞大的模型中,耗时费力。 今天&#…

大模型部署解决方案之TorchServe+vLLM

TorchServe 是PyTorch 中将模型部署到生产环境的一个解决方案。它用HTTP 或HTTPS API 封装模型,可以处理多种任务,包括为部署模型分配workers、负责客户端和服务器之间通信等。 10月份发布的TorchServe 0.12 增加了对GenAI的支持,简化了大语…

博弈论(零和博弈)英文版题解

翻译: 假设我们有一个两人零和游戏,每个玩家有两种行动,行收益矩阵如下: 计算行和列玩家的最小最大最优策略以及游戏的价值。 X Y A a11 a12 B a21 a22 选项: 1. 行玩家&#x…

虚拟现实辅助工程技术应用于员工培训

你还在使用传统的入职方法吗,比如印刷指南、演示、课堂培训、讲座等等?是时候改变了。虚拟现实辅助工程技术提供了一个机会,可以让新员工的入职过程更高效、更有趣,也更令人兴奋。想象一下这样一个场景,新员工可以在第…

【健康警钟】胆已切除,生活调理有“胆”更精彩!必看指南!

在现代社会,由于生活习惯、饮食习惯等多种因素,一些人可能不得不面对胆囊切除手术。虽然手术能够有效解决胆囊结石、胆囊炎等问题,但胆囊作为人体的一部分,其功能的丧失无疑会对生活带来一定影响。那么,胆被割了之后&a…

windows NGIMX配置WebSocket反向代理

linux下 据说nginx是要有 stream的模块 Linux安装Nginx步骤之后续,带stream模块-CSDN博客 Nginx从1.3.13版本就开始支持WebSocket linux 下参考如下链接 配置 Nginx 反向代理 WebSocket - 哈喽哈喽111111 - 博客园 (cnblogs.com) SSL的配置参考 【Linux】采用…

三种读取配置文件的方式

在编写JDBC的util包以读取文件时,配置文件的位置会影响其读取方式。当前,默认配置文件直接放置在src文件夹下。 当读取.properties文件代码写法为: Properties props new Properties(); props.load(new FileInputStream("db.propertie…

丹摩征文活动|CogVideoX-2b:从安装到上线,轻松搞定全过程!

CogVideoX-2b:从安装到上线,轻松搞定全过程! CogVideoX简介 CogVideoX的推出标志着视频生成技术的一次重大突破。过去,如何在保持高效的同时提升视频质量一直是一个难题,但CogVideoX 通过其先进的3D变分自编码器&…

工位管理优化:Spring Boot企业级系统

3系统分析 3.1可行性分析 通过对本企业级工位管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本企业级工位管理系统采用SSM框架,JAVA作为开…

EMQX服务器的搭建,实现本地机和虚拟机之间的MQTT通信(详细教程)

前言 MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。 MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(…

Unity 热更新 之 一篇文章完全入门AssetBundle

本篇知识来源于unity官方手册以及siki学院的相关教程,链接如下,仅作学习分享 AssetBundle(创建打包)入门学习(基于Unity2017) - SiKi学院|SiKi学堂 - unity|u3d|虚幻|ue4/5|java|python|人工智能|视频教程|在线课程 目录 0.热更新是什么 1.AssetBundl…

图片怎么去水印?5个简单好用的图片去水印方法分享!

在日常生活中,图片水印的去除需求时常涌现,无论是出于个人兴趣还是工作需求,掌握去水印技巧能让我们更自由地利用图片资源。今天,我们为您精心挑选并介绍五种实用的图片去水印方法,让您轻松上手,即刻提升图…

半导体测试领域CP和KGD的区别

在半导体测试领域,KGD(Known Good Die)和 CP(Chip Probing 或 Chip Test)是两个重要的概念,它们分别代表了不同阶段的测试和验证过程。下面详细解释这两者的区别: CP(Chip Probing …

人机融合智能中的系统与还原

一、人工智能中的系统与还原 人工智能(AI)作为现代科技的重要组成部分和应用涉及多个学领域,包括计算机科学、学、神经科学等人工智能的研究中系统的概念至关重要。系统不仅仅是简单的组件集合,更多地体现为各个部分之间的相互作用…

这可能是2024年看过最全最详细的Java面试八股文

前言: 本文收集整理了各大厂常见面试题 N 道,你想要的这里都有内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈,希望大家都能找到…

010_SSH_Sqlserver多媒体技术与应用课程网(学习资料+前台考试)_lwplus87

目 录 摘 要... III Abstract V 第1章 概述... 1 1.1 课题背景... 1 1.2 课题意义... 2 1.3开发工具及技术... 2 1.3.1 MyEclipse. 2 1.3.2 Tomcat 2 1.3.3 SqlServer 3 1.3.4 JSP. 3 1.4国内外现状... 4 第2章 可行性分析及总体设计原则... 5 2.1可行性分析…

免费数字孪生平台打造物流数据可视化大屏,助力消费跑出加速度

在当今快速发展的时代,物流行业已成为连接生产与消费的重要桥梁。2024年,中国物流行业再次刷新纪录,8月13日,我国第1000亿件快递已顺利产生,比2023年提前了71天,这一速度令人惊叹。而在这背后,物…

Navict15 过期处理删除注册表

1.winR 注册表输入regedit 2.搜索输入HKEY_CURRENT_USER\Software\PremiumSoft\Navicat 3.输入HKEY_CURRENT_USER\Software\Classes\CLSID,找到只有一个info的,把包含info的这个文件夹删了。

计算机网络:运输层 —— TCP/IP运输层中的两个重要协议

文章目录 TCP 协议工作方式建立连接(三次握手)释放连接(四次挥手) 首部格式 UDP 协议首部格式适用场景 TCP 与 UDP 的对比无连接的UDP和面向连接的TCP对单播、多播和广播的支持情况对应用层报文的处理对数据传输可靠性的支持情况U…