当前位置: 首页 > news >正文

Jmeter+Ant+Git/SVN+Jenkins实现持续集成接口测试,一文精通(一)

前言

Jmeter,Postman一些基本大家相比都懂。那么真实在项目中去使用,又是如何使用的呢?本文将一文详解jmeter接口测试


一、接口测试分类

二、目前接口架构设计

三、市面上的接口测试工具

四、Jmeter简介,安装,环境变量的配置。

五、Jmeter目录介绍

六、Jmeter常用组件

七、Jmeter执行接口测试

八、总结


一、接口测试分类

内部接口:测试被测系统各个子模块之间的接口,或者被测系统提供给内部系统使用的接口。
外部接口:
1.被测系统调用外部的接口。
2.系统对外提供的接口。
接口测试重点:检查接口参数传递的正确性,接口功能的正确性,输出结果的正确性,以及对各种异常情况的容错处理,以及权限控制,
分页,调用次数的限制。


二、目前接口架构设计

1.基于SOAP架构。基于XML规范。基于WebSerice协议。特点:接口地址wsdl结尾。
2.基于RPC架构,基于dubbo协议,thrift协议。SpringCloud微服务。
3.基于RestFul架构,基于json规范。基于http协议。
RestFul规则:
        接口地址:http://127.0.0.1/user,get(查询用户),post(新增用户),put(修改用户),delete(删除用户)
        Json数据格式:只有两种数据类型。
        键值对:{key:value}
        数组:[arry1,arry2]

http协议详解结构:

请求:请求行,请求头,请求正文
请求行
POST http://xxx
请求头
Host: xxx(请求主机)
Connection: keep-alive(保存活跃)
Content-Length: 112(内容长度)
Accept: application/json, text/javascript, */*; q=0.01(数据格式)
X-Requested-With: XMLHttpRequest(异步请求)
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124
Safari/537.36(客户端类型)
Content-Type: application/x-www-form-urlencoded; charset=UTF-8(内容类型)
Origin: http://xxx
Referer: http://xxx
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: csrf_token=xxx; (Cookie信息,客户端发送给服务器的Cookie,从第1-N次)

请求正文
username=xxx&password=xxx&backurl=httpxxx


响应:响应行,响应头,响应正文

响应行
HTTP/1.1 200 OK
响应头
Server: nginx
Date: Tue, 24 Aug 2021 12:23:12 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.6.36
Set-Cookie: (服务器发送给客户端的Cookie,只在第一次请求的时候)
Content-Encoding: gzip
Vary: Accept-Encoding

响应正文

xxx --响应正文


三、市面上的接口测试工具

Jmeter+Ant+Git+Jenkins
Postman+Newman+Git+Jenkins
soapui,apipost,fildder,charles


四、Jmeter简介,安装,环境变量的配置。

基于Java语言压力测试工具,可以做接口测试,也可以做性能测试。
安装:JDK1.8以上,配置环境变量。


五、Jmeter目录介绍

  1. backups:脚本备份目录。格式JMX
  2. bin目录:存放Jmeter的启动脚本,配置文件。模块文件。
  3. jmeter.bat 启动Jmeter
  4. jmeter.properties 核心配置文件。
  5. docs:离线帮助文档。
  6. extras:存放与第三方的集成构建文件。集成Ant,Jenkins。
  7. lib目录:存放jar包。
  8. licensce:许可证文件。

六、Jmeter常用组件

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

顺序:非常重要
测试计划》线程组》配置元件》前置处理器》定时器》取样器(请求)》后置处理器》断言》监听器。
作用域:非常重要
必须组件:测试计划,线程组,取样器
辅助组件:除了必须组件外
作用于父组件,同级组件,以及同级组件下的所有子组件。


七、Jmeter执行接口测试

1.拿到api接口文档(Fiddler),熟悉接口业务,接口地址,鉴权方式,入参,出参,错误码。
2.编写接口测试用例。
        测试思路:
        正例:输入正常入参,查看接口成功返回。
        反例:
                鉴权:空,错误,鉴权过期,鉴权次数限制........
                参数:空,类型错误,长度错误,错误码的覆盖。
                其他:黑名单、分页。
3.使用接口测试工具执行。
4.Jmeter+Ant+Git+Jenkins实现持续集成输出接口测试报告。通过电子邮件发送。


八、总结

本文最终目的为Jmeter+Ant+Git+Jenkins实现持续集成输出接口测试报告。并通过电子邮件发送。

首先先了解熟悉jmeter结构以及接口测试流程,具体jmeter使用方法&持续集成见(二)(三)篇介绍

相关文章:

Jmeter+Ant+Git/SVN+Jenkins实现持续集成接口测试,一文精通(一)

前言 Jmeter,Postman一些基本大家相比都懂。那么真实在项目中去使用,又是如何使用的呢?本文将一文详解jmeter接口测试 一、接口测试分类 二、目前接口架构设计 三、市面上的接口测试工具 四、Jmeter简介,安装,环境…...

CSAPP Malloc lab

CSAPP Malloc Lab 目标 实现一个简单的动态存储分配器。 评分标准 空间利用率应当减少internal 和 external fragmentation. memory utilization memory utilization payload / heap size fragmentation internal fragmentation external fragmentation throughput T 越接…...

(黑马出品_06)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

(黑马出品_06)SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术ES搜索和数据分析 今日目标1. 查询文档1.1.DSL查询分类1.2.全文检索查询1.2.1.使用场景1.2.2.基本语法1.2.3.示例 1.3.精准查询1.3.1.term查询1.3.2.ran…...

算法学习之动态规划DP——背包问题

一、01背包问题 (一)题目 有 N 件物品和一个容量是 V的背包。每件物品只能使用一次。 第i件物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值…...

LeetCode刷题日志-17.电话号码的字母组合

纯暴力解法&#xff0c;digits有多长&#xff0c;就循环多少次进行字母组合 class Solution {public List<String> letterCombinations(String digits) {List<String> reslut new ArrayList<>();if(digits.equals(""))return reslut;Map<Inte…...

选修-单片机作业第1/2次

第一次作业 第二次作业 1、51 系列单片机片内由哪几个部分组成&#xff1f;各个部件的最主要功能是什么&#xff1f; 51系列单片机的内部主要由以下几个部分组成&#xff0c;每个部件的主要功能如下&#xff1a; 1. **中央处理器&#xff08;CPU&#xff09;**&#xff1a;这是…...

微信小程序开发系列(十七)·事件传参·mark-自定义数据

目录 步骤一&#xff1a;按钮的创建 步骤二&#xff1a;按钮属性配置 步骤三&#xff1a;添加点击事件 步骤四&#xff1a;参数传递 步骤五&#xff1a;打印数据 步骤六&#xff1a;获取数据 步骤七&#xff1a;父进程验证 总结&#xff1a;data-*自定义数据和mark-自定…...

企业战略管理 找准定位 方向 使命 边界 要干什么事 要做多大的生意 资源配置投入

AI突破千行百业&#xff0c;也难打破护城河 作为每个企业或个人的立命生存之本&#xff0c;有的企业在某个领域长期努力筑起了高高的护城河。 战略是什么&#xff1f;用处&#xff0c;具体内容 企业战略是指企业为了实现长期目标&#xff0c;制定的总体规划和长远发展方向。…...

记录西门子:IO隔离SCL编程

在PLC变量中创建IO输入输出 在PLC类型中创建输入和输出&#xff0c;并将PLC变量的输入输出名称复制过来 创建一个FC块或者FB块 创建一个DB块 MAIN主程序中&#xff1a;...

微信小程序如何实现下拉刷新

1.首先在你需要实现下拉刷新页面的json文件中写入"enablePullDownRefresh": true。 2.在js文件的onPullDownRefresh() 事件中实现下拉刷新。 实现代码 onPullDownRefresh() {console.log(开始下拉刷新)wx.showNavigationBarLoading()//在标题栏中显示加载图标this.d…...

React-useEffect

1.概念 说明&#xff1a;用于在React组件中创建不是由事件引起而是由渲染本身引起的操作&#xff0c;比如发送 A列AX请求&#xff0c;更改DOM等。 2.案例 // useEffect用于组件不是由事件引起的而是由渲染本身引起的操作&#xff0c;如ajax,更改Dom等。 import { useEffect,…...

web蓝桥杯真题:展开你的扇子

代码&#xff1a; /*TODO&#xff1a;请补充 CSS 代码*/#box:hover #item7 {transform: rotate(10deg); } #box:hover #item6 {transform: rotate(-10deg); } #box:hover #item8 {transform: rotate(20deg); } #box:hover #item5 {transform: rotate(-20deg); } #box:hover #i…...

阿里P9大佬分享:如何让代码更加灵活

面试官: 你好&#xff0c;今天我们要讨论的是命令模式。首先&#xff0c;你能解释一下什么是命令模式吗&#xff1f; 求职者: 当然可以。命令模式是一种行为设计模式&#xff0c;它将一个请求封装成一个对象&#xff0c;从而让你使用不同的请求、队列或者日志请求来参数化其他…...

SpringBoot中加载配置文件的优先级

在Spring Boot中&#xff0c;加载配置文件的优先级按照以下顺序进行&#xff0c;后续的配置会覆盖之前的配置&#xff1a; 默认属性&#xff1a;这些属性在Spring Boot本身中定义&#xff0c;并且通常是不可变的。它们作为后备值。 应用程序属性&#xff1a;这些属性在应用程序…...

Mysql命令行客户端

命令行客户端 操作数据库操作数据表 操作数据库 mysql> create database mike charsetutf8; Query OK, 1 row affected (0.01 sec) mysql> show databases; -------------------- | Database | -------------------- | information_schema | | mike …...

开源的python 游戏开发库介绍

本文将为您详细讲解开源的 Python 游戏开发库&#xff0c;以及它们的特点、区别和应用场景。Python 社区提供了多种游戏开发库&#xff0c;这些库可以帮助您在 Python 应用程序中实现游戏逻辑、图形渲染、声音处理等功能。 1. Pygame 特点 - 基于 Python 的游戏开发库。…...

批量提取PDF指定区域内容到 Excel 以及根据PDF里面第一页的标题来批量重命名-附思路和代码实现

首先说明下&#xff0c;PDF需要是电子版本的&#xff0c;不能是图片或者无法选中的那种。 需求1&#xff1a;假如我有一批数量比较多的同样格式的PDF电子文档&#xff0c;需要把特定多个区域的数字或者文字提取出来 需求2&#xff1a;我有一批PDF文档&#xff0c;但是文件的名…...

PCM会重塑汽车OTA格局吗(1)

目录 1.汽车OTA概述 2.ST如何考虑OTA&#xff1f; 2.1 Stellar四大亮点 2.2 PCM技术视角下的OTA 3.小结 1.汽车OTA概述 随着智能网联汽车的飞速发展&#xff0c;汽车OTA也越来越盛行&#xff1b; 目前来讲OTA分为FOTA和SOTA(Software-over-the-air)两种&#xff0c;区别…...

Intel® Extension for PyTorch*详细安装教程

最近在研究Intel的pytorch的加速拓展Intel Extension for PyTorch*,但是发现官网的文档全是英文的&#xff0c;不太好找安装教程。所以特此分享Intel Extension for PyTorch*的详细安装教程。 文章目录 一、安装所需系统要求1.1 硬件需求1.2 软件需求 二、准备2.1 安装驱动程序…...

云上攻防-云产品篇堡垒机场景JumpServer绿盟SASTeleport麒麟齐治

知识点 1、云产品-堡垒机-产品介绍&攻击事件 2、云产品-堡垒机-安全漏洞&影响产品 章节点&#xff1a; 云场景攻防&#xff1a;公有云&#xff0c;私有云&#xff0c;混合云&#xff0c;虚拟化集群&#xff0c;云桌面等 云厂商攻防&#xff1a;阿里云&#xff0c;腾讯…...

刚考上研究生的小白怎么写综述?

除了传统的写作方法&#xff0c;我们需要的是一种能够将传统数周的文献调研压缩至分钟级的高效解决方案&#xff0c;这便是智能化科研工具的核心价值所在。 MedPeer基于国内科研现状&#xff0c;打造出了Deep Search这款智能文献检索与分析工具。它覆盖了3亿篇文献数据库&…...

【深度学习:实践篇】从零构建--联邦学习系统

1. 联邦学习系统架构设计 第一次接触联邦学习系统时&#xff0c;我被它精妙的设计理念所吸引。这就像几个邻居想一起烤蛋糕&#xff0c;但谁也不愿意公开自己的独家配方。最后大家决定&#xff1a;各自在家烤好蛋糕胚&#xff0c;只把半成品送到中央厨房做最后装饰。这种"…...

Playwright Python:企业级跨浏览器自动化测试的战略解决方案

Playwright Python&#xff1a;企业级跨浏览器自动化测试的战略解决方案 【免费下载链接】playwright-python Python version of the Playwright testing and automation library. 项目地址: https://gitcode.com/GitHub_Trending/pl/playwright-python 在当今快速发展的…...

30分钟快速掌握SpeechBrain:从零开始构建智能语音系统的终极指南

30分钟快速掌握SpeechBrain&#xff1a;从零开始构建智能语音系统的终极指南 【免费下载链接】speechbrain A PyTorch-based Speech Toolkit 项目地址: https://gitcode.com/GitHub_Trending/sp/speechbrain SpeechBrain是一个基于PyTorch的全功能语音工具包&#xff0c…...

图像去重实战:从基础哈希到深度学习

1. 图像去重技术入门指南 第一次接触图像去重这个概念时&#xff0c;我正面临着一个棘手的问题&#xff1a;公司图片库里有大量重复上传的素材&#xff0c;手动筛选简直是一场噩梦。后来发现&#xff0c;这种情况在电商平台、社交媒体和数字资产管理中非常普遍。简单来说&…...

LFM2.5-1.2B-Thinking-GGUF算力适配:Jetson Orin Nano边缘部署教程

LFM2.5-1.2B-Thinking-GGUF算力适配&#xff1a;Jetson Orin Nano边缘部署教程 1. 模型与平台介绍 LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的轻量级文本生成模型&#xff0c;专为低算力环境优化设计。该模型采用GGUF格式&#xff0c;结合llama.cpp运行时&#xff0c;能够在…...

Vue3+@antv/x6实战:5步实现可交互流程图保存与图片导出功能

Vue3与antv/x6深度整合&#xff1a;打造企业级可交互流程图解决方案 在数字化转型浪潮中&#xff0c;可视化流程编排工具已成为企业级应用的标准配置。作为前端开发领域的黄金组合&#xff0c;Vue3的响应式体系与antv/x6的图编辑能力相结合&#xff0c;能够快速构建出功能完备的…...

ams OSRAM 将娱乐与工业灯具业务出售给 Ushio

事件核心摘要交易双方&#xff1a;ams OSRAM&#xff08;卖方&#xff0c;奥地利/德国半导体巨头&#xff09; vs. Ushio, Inc.&#xff08;买方&#xff0c;日本光学技术公司&#xff09;。交易内容&#xff1a;出售 Entertainment & Industry Lamps&#xff08;娱乐与工业…...

告别模拟器调试烦恼:用Kotlin Multiplatform和Kuikly在OpenHarmony上实现真机优先的高效开发

真机优先开发革命&#xff1a;Kotlin Multiplatform与Kuikly在OpenHarmony上的架构兼容实践 当开发团队首次将跨平台方案引入OpenHarmony生态时&#xff0c;往往会在x86模拟器与ARM真机的架构差异前陷入两难。传统方案如React Native或Flutter需要开发者花费大量时间处理不同架…...

从EN脚上电到按键消抖:RC延时电路在STM32/GD32项目里的3个实战用法

RC延时电路在嵌入式开发中的三大实战技巧 引言 在嵌入式系统开发中&#xff0c;RC延时电路就像一位默默无闻的后勤保障专家&#xff0c;它不显山露水&#xff0c;却能在关键时刻解决那些让人头疼的时序问题。作为一名长期与STM32和GD32打交道的工程师&#xff0c;我发现RC电路的…...