接口测试工具——Postman测试工具 Swagger接口测试+SpringBoot整合 JMeter高并发测试工具

news2024/11/20 10:35:19

目录

  • Postman测试工具
  • 接口测试工具swagger
    • Knife4j
    • 1.引入依赖
    • 2.配置
    • 3.常用注解
    • 4.接口测试
  • JMeter
    • 什么是JMeter?
    • JMeter安装配置
      • 1.官网下载
      • 2.下载后解压
      • 3.汉语设置
  • JMeter的使用方法
    • 1.新建线程组
    • 2.设置参数
    • 3.添加取样器
    • 4.设置参数:协议,ip,端口,请求方式,路径
    • 5.添加查看结果树
    • 6.启动+查看结果

Postman测试工具

在这里插入图片描述
在这里插入图片描述

接口测试工具swagger

https://apifox.com/

在这里插入图片描述

swagger2,较多

swagger3,

Knife4j

Knife4j的前身是swagger-bootstrap=ui,前身swagger–bootstrap-ui是一个纯swagger–ui的ui皮肤项目

https://doc.xiaominfo.com/docs/quick-start

https://doc.xiaominfo.com/docs/quick-start

1.引入依赖

        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
            <version>4.1.0</version>
        </dependency>

底层就是swagger

在这里插入图片描述

2.配置

knife4j:
  enable: true

3.常用注解

import io.swagger.annotations.Api;

在这里插入图片描述

序号注解作用
1@Api(tags = “图书的api接口类”)左侧名字
2@ApiOperation(“findPage方法测试”)get方法名字
3@ApiImplicitParam(name = “findByPage”,value = “分页查询”,required = true)参数相关
4@ApiModel(“DTO返回数据”)写在HttpResp实体类上
5@ApiModelProperty(“time”)写在HttpResp类属性上

BookController.java文件

package com.tinaju.bm.controller;

import com.tinaju.bm.dto.HttpResp;
import com.tinaju.bm.dto.ResultCode;
import com.tinaju.bm.entity.Book;
import com.tinaju.bm.service.IBookService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;
import java.util.List;

@Api(tags = "图书的api接口类")
@RestController
@RequestMapping("/api/book")
public class BookController {
    @Autowired
    private IBookService bookService;

    @ApiOperation("findPage方法测试")
    @ApiImplicitParam(name = "findByPage",value = "分页查询",required = true)
    @GetMapping("/findByPage")
    public HttpResp findByPage(int currentPage){
        List<Book> bookList = bookService.findByPage(currentPage, 5);
        return HttpResp.results(ResultCode.BOOK_SUCCESS,new Date(),bookList);
    }
}

HttpResp.java返回给前端的实体类

package com.tinaju.bm.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.util.Date;

/**
 * 返回给前端的响应
 * @param <T>
 */
@ApiModel("DTO返回数据")
@Getter@Setter
@ToString
public class HttpResp<T> implements Serializable {

    private ResultCode resultCode;
    @ApiModelProperty("time")
    private Date time;
    @ApiModelProperty("results")
    private T results;

    private HttpResp(){}

    public static <T> HttpResp<T> results(ResultCode resultCode,Date time,T results){ // java泛型的写法
        HttpResp httpResp = new HttpResp();
        httpResp.setResultCode(resultCode);
        httpResp.setTime(time);
        httpResp.setResults(results);
        return httpResp;
    }
}

4.接口测试

ip: 端口/doc.html

在这里插入图片描述

JMeter

在这里插入图片描述

什么是JMeter?

Apache JMeter™

The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance(接口性能),It was originally designed for testing Web Applications but has since expanded to other test functions.

JMeter安装配置

1.官网下载

在这里插入图片描述

2.下载后解压

在这里插入图片描述

3.汉语设置

在这里插入图片描述

JMeter的使用方法

在这里插入图片描述

1.新建线程组

在这里插入图片描述

2.设置参数

在这里插入图片描述

3.添加取样器

在这里插入图片描述

4.设置参数:协议,ip,端口,请求方式,路径

在这里插入图片描述

5.添加查看结果树

在这里插入图片描述

6.启动+查看结果

在这里插入图片描述

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

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

相关文章

为什么说电子商务个性化是所有跨境电商需要关心的?

电子商务个性化就是个性化客户体验的行为&#xff0c;以便每个购物者都是独一无二的&#xff0c;比如您可以收到来自包含您的名字的品牌的电子邮件等&#xff0c;或者当您在线购物并查看基于您以前的浏览历史记录的商品推荐&#xff0c;这些就是购物个性化。如今很多企业都开始…

使用虚拟环境conda安装不同版本的cuda,cudnn,pytorch

背景&#xff1a;在学习深度学习时&#xff0c;我们不可避免的需要跑多个神经网络&#xff0c;而不同的神经网络环境都不一样&#xff0c;所以必须要使用到虚拟环境(如conda)去做环境隔离&#xff0c;安装属于自己的环境。在这环境中&#xff0c;大多神经网络都必须要用到cuda&…

【RocketMQ】安装

文章目录 下载RocketMQ配置环境变量 下载RocketMQ 下载RocketMQ安装包 下载DashBoard 这里版本推荐选择4.9.x&#xff0c;因为比较稳定。 下载完毕之后&#xff0c;将安装包拖入到Linux环境。 之后使用unzip命令解压缩RocketMQ的安装包。 unzip ./rocketmq-all-4.9.2-bin-rel…

Springboot 实践(6)spring security配置与运用

前文讲解了springboot项目添加静态资源目录&#xff0c;到目前为止&#xff0c;项目已经建立了后台服务控制、静态资源目录等服务&#xff1b;项目开发是为特定用户服务的&#xff0c;不具备访问权限用户&#xff0c;不允许访问系统&#xff0c;那么如何对系统资源进行保护呢&a…

操作系统-笔记-第二章-进程

目录 二、第二章——【进程】 1、进程的概念 &#xff08;1&#xff09;PID & PCD 进程控制块 &#xff08;2&#xff09;程序段 & 数据段 &#xff08;3&#xff09;特征 &#xff08;特性&#xff09; property &#xff08;4&#xff09;总结 2、进程的状态 …

配置应用/配置权限提升

配置应用 配置 servera 上的应用 ex200 &#xff0c;要求如下&#xff1a;当以用户 pandora 运行 ex200 时&#xff0c;它将显示 borough lively excursion nephew scarce find / | grep ex200 which ex200wim /usr/local/bin/ex200 echo borough lively excursion nephew …

【Java集合框架面试题(30道)】

文章目录 Java集合框架面试题(30道)引言1.说说有哪些常见集合&#xff1f; List2.ArrayList和LinkedList有什么区别&#xff1f;3.ArrayList的扩容机制了解吗&#xff1f;4.ArrayList怎么序列化的知道吗&#xff1f;为什么用transient修饰数组&#xff1f;5.快速失败&#xff0…

工厂无线安灯呼叫系统解决方案

在现代制造业中&#xff0c;生产线的高效运作是企业成功的关键之一。为了实现生产线的顺畅运转&#xff0c;安灯系统成为了制造业生产现场的必备工具。安灯系统是一个专门应用软硬件系统&#xff0c;旨在快速联络生产、物料、维修、主管等部门&#xff0c;以满足生产线的需求并…

【STM32RT-Thread零基础入门】 5. 线程创建应用(线程创建、删除、初始化、脱离、启动、睡眠)

硬件&#xff1a;STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线 文章目录 前言一、线程管理接口介绍二、任务&#xff1a;使用多线程的方式同时实现led闪烁和按键控制喇叭&#xff08;扫描法&#xff09;1. RT-Thread相关接…

根据两组相关联数据(部门 + 用户),生成列表树

文章目录 背景想要得到的数据格式业务层获取数据&#xff0c;部门及用户&#xff0c;构建树结构TreeUtil生成的格式部门实体用户实体 背景 目前拥有用户和部门两组数据&#xff0c;根据部门和用户的关系&#xff0c;生成部门树&#xff0c;且每个部门下拥有哪些与子部门同级的…

接口自动化测试框架搭建

为什么要做&#xff08;自动化&#xff09;接口测试&#xff1f; 1、由于现在各个系统的复杂度不断上升&#xff0c;导致传统的测试方法成本上升且测试效率大幅下降&#xff0c;而接口测试相对于UI测试更加稳定&#xff0c;且相对容易实现自动化持续集成&#xff0c;可以减少人…

Spring BeanDefinition 也分父子关系?

在 Spring 框架中&#xff0c;BeanDefinition 是一个核心概念&#xff0c;用于定义和配置 bean 的元数据&#xff0c;虽然在实际应用中&#xff0c;我们一般并不会或者很少直接定义 BeanDefinition&#xff0c;但是&#xff0c;我们在 XML 文件中所作的配置&#xff0c;以及利用…

数字化智慧工地云平台,劳务实名制系统、视频监控系统、环境监测系统、人员定位系统、工资代发系统、AI识别系统、视频监控系统

智慧工地概念 智慧工地是一种崭新的工程全生命周期管理理念&#xff0c;是指运用信息化手段&#xff0c;通过对工程项目进行精确设计和施工模拟&#xff0c;围绕施工过程管理&#xff0c;建立互联协同、智能生产、科学管理的施工项目信息化生态圈&#xff0c;并将此数据在虚拟…

RabbitMQ的5种消息队列

RabbitMQ的5种消息队列 1、七种模式介绍与应用场景 1.1 简单模式(Hello World) 一个生产者对应一个消费者&#xff0c;RabbitMQ 相当于一个消息代理&#xff0c;负责将 A 的消息转发给 B。 应用场景&#xff1a;将发送的电子邮件放到消息队列&#xff0c;然后邮件服务在队列…

LeetCode150道面试经典题-- 环形链表(简单)

1.题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&…

通过pycharm使用git和github的步骤(图文详解)

一、在Pycharm工具中配置集成Git和GitHub。 1.集成Git。 打开Pycharm, 点击File-->Settins-->Version Control-->Git 然后在 Path to Git executable中选择本地的git.exe路径。如下图&#xff1a; 2.集成GitHub 打开Pycharm, 点击File-->Settins-->Version…

基于Googlenet深度学习网络的信号调制类型识别matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 深度学习与卷积神经网络 4.2 数据预处理 4.3 GoogLeNet结构 4.4 分类器 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ............…

Qt 父子对象的关系

文章目录 前言一. Qt 对象可以存在父子关系&#xff1a;二. 父子关系的建立&#xff1a;三. Qt 对象的销毁&#xff1a; 总结 前言 Qt是一个流行的C框架&#xff0c;用于开发跨平台的图形用户界面&#xff08;GUI&#xff09;应用程序。Qt提供了一种强大的对象模型&#xff0c…

leetcode做题笔记83删除排序链表中的重复元素

给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 输入&#xff1a;head [1,1,2] 输出&#xff1a;[1,2] 思路一&#xff1a;模拟题意 struct ListNode* deleteDuplicates(struct ListNode* head){i…

韦东山-电子量产工具项目:显示单元

所有代码都已通过测试跑通&#xff0c;其中代码结构如下&#xff1a; 一、include文件夹 1.1 disp_manager.h #ifndef _DISP_MANAGER_H //防止头文件重复包含,只要右边的出现过&#xff0c;就不会再往下编译 #define _DISP_MANAGER_H //区域结构体 typedef struct DispBuff …