超详细!Jmeter性能测试(一)

article/2025/9/29 3:15:33

*Jmeter 性能测试(一)

  • 首先开发会给你一个接口文档、我们这边是做支付方面的,所以我们要求给下单支付接口做下压测。

  • 由于我们这边接口都是有加密参数的,所以都是直接在JAVA工程包里直接跑的,因为这次是做压测,所以我们要用上Jmeter这个工具来配合,Jmeter这个工具我就不做详细介绍了。

  • 然后我们打开Jmeter这个工具,打开Jmeter下载文件进入bin目录下双击jmeter.bat,即可打开Jmeter。

  • 打开Jmeter创建一个线程组,给他命名Test_Pressure(这个名字随便自己取)。在这里插入图片描述
    在线程组下的Sampler添加http请求

在这里插入图片描述

这时候就要根据所提供的接口来了,由于我们这边的接口是写在Java工程包里的,所以我们就要在工程包里面看了。首先在开始之前,我们这边从下单到完成支付,是由三个接口来完成的。附上接口数据,由于是公司内部数据,我打上了马赛克,能看懂就行。(一共有三个接口,1.发送下单接口获取Token,2.根据下单接口返回的Token去关联下一个接口去发送请求支付接口,3.再根据下单支付接口的订单状态去做回调,先知道有这么个回事,后面我会说清楚

获取TOKEN接口(图一)
在这里插入图片描述
获取TOKEN接口(图二)

在这里插入图片描述
获取TOKEN接口(图三)
在这里插入图片描述
获取TOKEN接口(图四)
在这里插入图片描述
这一串代码是动态聚合码支付获取token,根据开发所提供的代码我们先要通过第一个接口去获取TOKEN。

懂java的可能容易看的懂些,楼主也不是很懂java,但是天天接触这些东西,时间久了,开发写的这些还是能看懂的,哈哈哈哈,若有解释错误的,还麻烦留言指出来哦。

我们要进行的是对dmOrderToken()这个接口进行添加,那么先找到这个接口的URL,我们根据TOKEN接口(图三)的第77行代码显示:
HttpResponse response = HttpRequest.post(dmUrl).body(jsonParams,“application/json”).charset(“utf-8”).execute();
String result = response.body();
(不懂的看下方截图)
l在这里插入图片描述
Ctrl+左键点击dmUr跳转到图一的32行在这里插入图片描述
这个时候我们已经知道了获取TOKEN的接口地址
然后我们可以根据代码上写的地址放到Jmeter的Http请求上面去(代码上怎么写的,就怎么填)
在这里插入图片描述
这个时候我们继续看接口代码
在这里插入图片描述
我们继续看到这行代码
HttpResponse response = HttpRequest.post(dmUrl).body(jsonParams, “application/json”).charset(“utf-8”).execute(); 说明用的是POST请求、请求数据格式是application/json
这个时候我们到Jmeter上去添加就好
在这里插入图片描述
这个时候我们添加一个HTTP请求默认值,为什么要在默认值这里添加呢,是为了后面有可能会用到,所以添加一个这样的默认值,具体怎么用后面会说到,先知道有这么个回事。
在这里插入图片描述
在这里插入图片描述
再添加一个查看结果树,结果树是从监听器下面添加的,不用解释也应该明白吧,就是用来监听的,这么说吧,就是用来看结果的,看运行的结果是个什么样的,这样说可能好理解一些。
在这里插入图片描述
这个时候我们来运行一下看接口有没有通,发现返回的响应参数为空,我们没有用上参数数据,我们再继续去看代码需要用到哪些参数。
在这里插入图片描述
继续可以看上方代码图片,参数太多我就不一一说了,还有一些代码逻辑,我们可以根据上面代码
把他写在JMETER里面去,然后去进行调用,这样就方便很多,这个时候我们添加一个
BeanShell PreProcessor(然后肯定有小伙伴问,为什么要添加一个beanshell preprocessor呢,他又是干嘛的呢?)为什么参数不直接添加到Body上面去呢,这个慢慢细讲哈。

BeanShell PreProcessor是一个前置处理器,它可以进行一些处理,比如执行一个算法并将结果存储到参数中。它只支持java语言。

在这里我提前说一个jar包导入的事,之前楼主在这里研究了半天,哈哈哈
如使用jar包,需要先在Eclipes把jar包Export出来,然后把导出的jar包提前放入jmeter安装目录的\lib\ext下,并重新启动jmeter。当然也可以在Jmeter测试计划中的Library,选择jar,导入Jmeter 保存后,重新启动下jmeter。(为什么要导入jar包,因为你在BeanShell PreProcessor的Script下写代码,会有包导入失败无效,因为Jmeter没有这个东西,Jmeter它本身找不到这个jar,所以他不知道。)下面附上截图流程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后就导出成功了,把导出的jar包放到jmeter安装目录的\lib\ext下就可以了。

然后我们继续进入到Jmeter
打开BeanShell PreProcessor
Script
使用import来导入,import的路径就是在eclipse中import的路径
使用vars.get(“xxx”)来将jmeter中的参数的值获取到java中。
使用vars.put(“xxx”)来将java中的参数的值储存到jmeter中。这个的话我后面会说到
在这里插入图片描述
在这里插入图片描述
然后我们把里面所用到的代码写进去,具体怎么写进去我就不说了,这。。。。太多了,懂一点基础的可以直接把开发写的给复制进来,然后稍微修改一下就好了,你就把这些代码看作是body参数,后面会引用到的。
在这里插入图片描述
在这里插入图片描述

String jsonParams = JSONUtil.toJsonStr(pubParamMap);
vars.put(“dmjsonParams”,jsonParams);

上面说了,这些都是作为参数去调用,把所有需要用到的参数全部集合在jsonParams上了,然后我们vars.put(“dmjsonParams”,jsonParams)这个意思就是说给jsonParams起了另外一个变量名,名为dmjsonParams 我们只需要把dmjsonParams传到Body上面去就可以调用Script的参数代码了。(前提是代码一定要写对哦,不然会报错,我第一次写的时候也报了很多错,一步一步爬得坑,慢慢爬上来了,这个我就不说了,自己去操作的时候碰到了就自行百度吧,还有jar包导入的问题,一般情况下按照我上面说的去导入不会有问题)

然后我们打开HTTP请求,下方点击Body Data
在这里插入图片描述

然后我们现在可以去运行一下 看可以不可以

在这里插入图片描述
OK 这样的话 我们在data里看到了token,这个token的获取方式有点怪啊,这个得问开发。

然后我们再加一个响应断言吧,这样可以更好的判断错误
在这里插入图片描述
在这里插入图片描述
好了,这样的话第一个接口就算是调通了。

说明:这还没到做性能阶段,只是把接口调通,(这才第一个接口)后面我会更新
还有就是这纯属个人分享,再加上给自己做个笔记,一起学习,一起加油吧!


http://chatgpt.dhexx.cn/article/sirC7aa4.shtml

相关文章

JMeter 性能测试实例

JMeter 性能测试实例 1. 实验目的 熟悉 Badboy JMeter 的自动化测试流程 2. 实验内容 2.1 使用 Badboy 录制脚本 2.2 使用 JMeter 进行性能测试 2.3 分析测试结果 3. 实验步骤 3.1 下载图 1 所示的文件并解压 图 1. 本实验需要的相关文件 3.2 双击运行 strawberry-pe…

jmeter性能测试步骤入门

目录 一、Jmeter简介 二、Jmeter实现性能测试 三、总结 一、Jmeter简介 1 概述 jmeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 它是 Apache 软件基金会的Stefano Mazzocchi JMeter 最初开发的。 它主要对 …

jmeter 性能测试结果分析

一、性能测试的概念&意义 1、概念 通过技术的手段模拟大量用户同时访问被测应用,观察、记录和分析系统的各项性能指标的过程。 2、目的 评估系统的性能瓶颈,预测系统的最大用户负载能力 3、意义 能够有效评估系统的性能指标,用于系统…

JMETER性能测试

jmeter 为性能测试提供了一下特色: jmeter 可以对测试静态资源(例如 js、html 等)以及动态资源(例如 php、jsp、ajax 等等)进行性能测试 jmeter 可以挖掘出系统最大能处理的并发用户数 jmeter 提供了一系列各种形式的…

超详细!Jmeter性能测试

前言 性能测试是一个全栈工程师/架构师必会的技能之一,只有学会性能测试,才能根据得到的测试报告进行分析,找到系统性能的瓶颈所在,而这也是优化架构设计中重要的依据。 测试流程: 需求分析→环境搭建→测试计划→脚…

(一)JMeter性能测试,完整入门篇:性能测试操作步骤

原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具&#xff0…

jmeter性能测试步骤实战教程

1. Jmeter是什么? 2. Jmeter安装 2.1 JDK安装 由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9) 1. 官网下载地址: http://www.oracle.com/technetwork/java/…

如何用jmeter工具进行性能测试

前言 今天我们来说说jmeter如何进行性能测试,我们都知道jmeter工具除了可以进行接口功能测试外,还可以进行性能测试。当项目趋于稳定,根据性能需求就可以着手准备性能测试了,今天就说一说jmeter如何进行性能测试,jmet…

【软件测试】Jmeter性能测试(性能测试,Jmeter使用与结果分析)

文章目录 前言一、性能测试1. 什么是性能测试?2. 性能测试的重要性3. 性能指标——QPS和TPS①QPS②TPS 二、压测工具Jmeter1. 什么是Jmeter?2. Jmeter主要元件3. 下载安装 三、一个简单的测试案例①新建一个线程组②新建一个HTTP请求③添加HTTP信息头&am…

全网最牛,JMeter性能测试步骤与结果分析(压力 / 负载测试)详全,精品太干了

目录:导读 一、前言二、负载、压力、可靠性(非常重要)三、压力测试实战四、负载测试实战五、资源监控1、Windows自带的资源监工具2、Jmeter里面的第三方监理插件3、Linux资源监控 一、前言 1、负载:模拟业务操作对服务器造成压力…

【Java】比较器 Comparator Comparable

一、背景 我们在使用 Collections.sort() 对链表进行排序(或者使用 Arrays.sort() 对数组进行排序)时,常常需要根据不同情况自定义排序规则。比如:当我们存储学生对象时,我们需要按照学生年龄进行排序,这时…

Java 解惑:Comparable 和 Comparator 的区别

读完本文你将了解到: Comparable 自然排序Comparator 定制排序总结 Java 中为我们提供了两种比较机制:Comparable 和 Comparator,他们之间有什么区别呢?今天来了解一下。 Comparable 自然排序 Comparable 在 java.lang 包下&am…

【Java】Comparable和Comparator接口

活动地址:CSDN21天学习挑战赛 ✨博客主页: XIN-XIANG荣 ✨系列专栏:【Java SE】 ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录 一. Comparable接口1. Comparable简介2. 为什么要实现Comparable接口3. Comparable的实际应用 Comparator接口1. Comparator简介2.…

一篇告诉你Comparator.comparing的使用

Comparator.comparing用处 很多情况下sql不好解决的多表查询,临时表分组,排序,尽量用java8新特性stream进行处理,使用java8新特性 //返回 对象集合以类属性一升序排序 list.stream().sorted(Comparator.comparing(类::属性一));//返回 对象集合以类属性一降序排序 注意两种写法…

详解Comparable和Comparator

目录 Comparable接口 Comparator接口 Comparable接口 Comparable接口在源码中的声明&#xff1a; public interface Comparable<T> {public int compareTo(T o); } 可以看到&#xff0c;只要一个compareTo方法&#xff0c;也就是说&#xff0c;实现Comparable接口的类…

Java Comparator的使用

这是啥&#xff1f; Comparator是个接口&#xff0c;是一个比较器&#xff0c;常用内部类的方式实现&#xff0c;常用于实现某个类的比较规则 怎么用&#xff1f; 场景&#xff1a;假如有一个字符串集合list&#xff0c;一共有10个元素&#xff0c;乱序的。现有排序规则orde…

Comparable与Comparator浅析

欢迎支持笔者新作&#xff1a;《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》&#xff0c;同时欢迎关注笔者的微信公众号&#xff1a;朱小厮的博客。 欢迎跳转到本文的原文链接&#xff1a;https://honeypps.com/java/comparable-and-comparator-analysis/ 今天…

Comparator和Comparable的区别

一、概述 Comparable和Comparator都是两个接口&#xff0c;接口都可以用来实现集合中元素的比较、排序&#xff0c;Comparator位于包java.util下&#xff0c;而Comparable位于包java.lang下&#xff0c;Comparable接口将比较代码嵌入自身类中&#xff0c;而Comparator既可以嵌入…

Comparator使用简介

1、Lambda表达式 2、Comparator使用简介 文章目录 一、使用方式1、Stream中sorted()方法2、Stream中max()方法3、Stream中排序JSONObject方法 二、具体方法1、 compare2、 equals3、 naturalOrder4、 comparing5、 comparingInt6、 comparingLong7、 comparingDouble8、 nullsF…

Comparator详解

前面我们讲过Java提供了一个用于比较的接口Comparable,提供了一个比较的方法,所有实现该接口的类,都动态的实现了该比较方法。实际上Java中除了比较一个接口外&#xff0c;还提供了一个接口&#xff0c;该接口也是具有比较的功能&#xff0c;但该接口注重的却是比较容器&#x…