如何将Postman API测试转换为JMeter以进行扩展

  

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客跳槽涨薪的朋友们有福了,今天给大家推荐一个软件测试面试的刷题小程序。​编辑https://blog.csdn.net/weixin_54696666/article/details/139783730?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/weixin_54696666/article/details/139783730?spm=1001.2014.3001.5501

 

许多测试工程师使用Postman进行API测试自动化。他们发现端点,发出请求,创建测试数据,运行回归测试,使用Newman等实现API测试的持续集成。但是,Postman有一定的测试限制。希望获得更多负载测试能力的开发人员,DevOps和QA工程师可以将其Postman测试转换为JMeter。这篇博客文章将解释何时建议将Postman转换为JMeter,并逐步说明如何实现。

Postman API Testing Limitations

 

可扩展性

Postman测试无法扩展。如果您的集合中有很多请求,Postman / Newman将使用1个线程(用户)并按顺序执行这些请求,而不是使用多个线程并发执行。

 

性能测试能力

由于可扩展性限制,Postman不适合API性能测试。性能测试要求同时针对多个线程(用户)运行测试,以确保系统在重负载下不会中断。

何时将Postman测试转换为JMeter测试

您可能希望将现有的Postman测试转换为JMeter以获得以下好处:

      • 多线程执行

      • 获取API的性能指标

      • 获得高级报告,并将不断增加的负载与响应时间,错误数量等相关联。 

      • 查找瓶颈和最慢的API端点

如何将Postman API测试转换为JMeter测试

以下是将现有Postman测试转换为JMeter的步骤:

 

第1步-准备JMeter进行录制

JMeter随附有HTTP(S)测试脚本记录器,该记录器充当浏览器(或使用HTTP协议并支持代理的任何其他应用程序)的代理。因此,您可以使用它来拦截浏览器生成的请求。在我们的例子中,您可以使用它来拦截Postman,并将请求转换为HTTP Request采样器。

JMeter的配置非常简单-尤其是在使用JMeter模板功能时:

    1.转到JMeter主菜单,然后选择“文件”->“模板”->“记录” ,然后单击“创建”。

     

    2.选择HTTP(S)测试脚本记录器,然后单击“开始”。

  

     

    3.提供您的API主机,以便JMeter将其置于HTTP Request Defaults下。

第2步-准备Postman进行记录 

        1.首先,将JMeter证书导入Postman。启动JMeter的HTTP(S)测试脚本记录器时,JMeter生成一个自签名证书,该证书使JMeter可以解密HTTPS请求。该文件称为ApacheJMeterTemporaryRootCA.crt ,它将在JMeter安装的“ bin”文件夹下开始生成。 

         

        2.打开Postman设置,然后转到“证书”选项卡

         

        3.切换在为“CA证书”,并找到ApacheJMeterTemporaryRootCA.crt

         

        就是这样,现在Postman将使用JMeter的证书,并且JMeter将能够解密捕获的请求

         

        配置Postman以使用JMeter作为代理

         

        现在,您需要“告诉”Postman通过JMeter的HTTP(S)测试脚本记录器发送请求。

         

        4.转到Postman的设置,然后打开“代理”选项卡。

         

        5.在用于发送请求的代理配置下,选中“添加自定义代理配置”框。

         

        6.选择“ HTTP”和“ HTTPS”协议。

         

        7.使用“localhost”作为代理服务器(如果你有不同的主机上运行的JMeter -使用该主机的IP地址或DNS主机名代替)。

         

        8.使用“ 8888”作为代理端口。


步骤3-记录您的测试

恭喜你!Postman和JMeter终于建立了联系。当您开始请求或收集时,JMeter将捕获它并为每个请求生成一个HTTP请求采样器。如果存在任何HTTP标头,JMeter将添加一个HTTP标头管理器以将标头添加到请求中。

这是一个有关其工作原理的小示例:

将Postman转换为JMeter时的提示,技巧和局限性

命令行记录

如果要在Windows上记录Newman测试,请遵循Windows操作系统代理设置。因此,在Internet Explorer或Chrome浏览器中执行设置就足够了。这将设置纽曼将使用的系统级代理。 

对于Linux / Unix / MacOS,可以通过HTTP_PROXY环境变量提供代理,例如:

HTTP_PROXY = http:// localhost:8888 && newman -c your_collection.json

 

BlazeMeter代理记录器

代替本地JMeter代理,您可以使用基于云的BlazeMeter代理记录器,该记录器:

  • 简化证书的创建,尤其是在记录移动应用程序流量方面。

  • 具有动态参数自动关联的功能。

局限性

请记住,这种方法仅适用于仅记录请求。您在“先决条件”下定义的所有脚本。或Postman中的“测试”标签将不被考虑。因此,如果您具有测试数据准备或声明逻辑,则需要使用JSR223测试元素和Groovy语言对其进行复制.

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

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

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

Apache Royale

Apache Royale 顶级项目 Apache Royale 之前adobe的flex,由于浏览器flash,安全沙箱问题,逐步退出市场,当年flex也就是AS3,浏览器统一兼容问题又停止了。 接着要说明一点,HTML5的自适应是在flex之后&#x…

shell编程中的运算符的讲解

在Linux操作系统中也可以使用expr来进行一些数值的运算,expr接受表达式作为参数,并打印计算结果。 对于某些复杂的表达式或早期不支持内嵌算术表达式的Shell环境,expr 仍然是一个可行的选择。 如上图所示,是使用变量sum来承接加和…

技术点梳理0618

ann建库,分布式建库,性能优化,precision recall参数优化 hnsw,图索引 1. build a)确定层:类似跳表思路建立多层,对每一个插入的节点,random层号l,从图的起始点search_…

文献学习——PWM - PFM模式无缝转换的PFC变换器统一控制

PWM - PFM模式无缝转换的PFC变换器统一控制 摘要:断续导通模式通常应用在升压功率因数校正转换器中。这篇文章提出了一种基于虚拟阻抗原理的实现脉冲宽度调制控制和脉冲频率调制控制的统一控制方法。控制模式可以简单的通过只调整一个控制参数来改变。因此&#xf…

A44 STM32_HAL库函数 之SD通用驱动 --B -- 所有函数的介绍及使用

A44 STM32_HAL库函数 之SD通用驱动 --B -- 所有函数的介绍及使用 1 该驱动函数预览1.11 HAL_SD_WriteBlocks_DMA1.12 HAL_SD_Erase1.13 HAL_SD_IRQHandler1.14 HAL_SD_GetState1.15 HAL_SD_GetError1.16 HAL_SD_TxCpltCallback1.17 HAL_SD_RxCpltCallback1.18 HAL_SD_ErrorCall…

Codeforces Round 946 (Div. 3) E. Money Buys Happiness

m m m个月,每个月月底发 x x x的薪水,也就是第 i i i个月只能用前 i − 1 i-1 i−1个月挣的钱,而不能用这个月挣的钱。第 i i i个月花费 c [ i ] c[i] c[i]的薪水能获得 h [ i ] h[i] h[i]的快乐度,问最多能获取的快乐度是多少。 …

第十一章:接口

接口 文章目录 接口一、简介1.1 接口是什么1.2 接口的作用1.3 接口的开发与调用1.4 接口的组成 二、RESTful API三、json-server四、接口测试工具五、接口的创建 一、简介 1.1 接口是什么 接口是前后端通信的桥梁 简单理解:一个接口就是 服务中的一个路由规则&am…

Mybatis数据存在则更新,不存在则插入

系列文章目录 文章目录 系列文章目录一、参考链接1.参考链接2.百度AI 二、使用步骤1.引入库2.读入数据 总结 一、参考链接 1.参考链接 Mybatis - 常用 SQL 语句设计思路及具体实现 - 数据存在则更新,不存在则插入、批量更新、批量插入、连表查询 - 字段加减法 2…

代码随想录算法训练营第四十二天 | 1049.最后一块石头的重量II、494.目标和、474.一和零

1049.最后一块石头的重量II 题目链接:https://leetcode.cn/problems/last-stone-weight-ii/ 文档讲解:https://programmercarl.com/1049.%E6%9C%80%E5%90%8E%E4%B8%80%E5%9D%97%E7%9F%B3%E5%A4%B4%E7… 视频讲解:https://www.bilibili.com/vi…

聊聊系统架构之负载均衡优化实践

一、写在前面 最近在进行线上监控检查时,我遇到了两个超出预期的案例。首先,网关层的监控数据与应用实际监控数据存在不一致性,尤其是max有较大的差异,详见如下图。其次在某个应用中,通过httpclient请求某域名时发现只…

碳课堂 | 手把手教你申报CBAM

CBAM全称为 Carbon Border Adjustment Mechanism,也被称作“碳关税”或“碳边境调节机制”,是指在实施国内严格气候政策的基础上,要求进口或出口的高碳产品缴纳或退还相应的税费或碳配额。目前,由于欧盟碳边境调节机制是全球第一个…

2244. 完成所有任务需要的最少轮数

2244. 完成所有任务需要的最少轮数 题目链接&#xff1a;2244. 完成所有任务需要的最少轮数 代码如下&#xff1a; class Solution { public:int minimumRounds(vector<int>& tasks) {unordered_map<int,int> um;for(int i0;i<tasks.size();i)//统计各个…

数据结构——顺序表的实现

数据结构——顺序表的实现 一 关于顺序表的简单知识二 动态顺序表 一 关于顺序表的简单知识 1.顺序表的底层结构是数组&#xff0c;在数组的基础上增加了增&#xff0c;删&#xff0c;查&#xff0c;改等方法。 2.顺序表的分类&#xff1a;静态顺序表和动态顺序表 静态顺序表的…

Leaflet地图实例

ReactTypeScript实例&#xff1a; import React, { useEffect, useRef } from "react"; import * as L from "leaflet"; import "leaflet/dist/leaflet.css";const App: React.FC () > {const mapRef useRef<HTMLDivElement>(null);…

【调试笔记-20240611-Linux-配置 OpenWrt-23.05 支持泛域名 acme 更新】

调试笔记-系列文章目录 调试笔记-20240611-Linux-配置 OpenWrt-23.05 支持泛域名 acme 更新 文章目录 调试笔记-系列文章目录调试笔记-20240611-Linux-配置 OpenWrt-23.05 支持泛域名 acme 更新 前言一、调试环境操作系统&#xff1a;Windows 10 专业版调试环境调试目标 二、调…

Android ViewModel实现和原理

ViewModel实现和原理 前言1. 使用1.1 gradle准备1.2 模拟场景1.3. LiveData和ViewModel1.4 更新数据 2. 原理与源码解读2.1 添加观察者2.2 setValue2.3 post 参考资料 前言 ViewModel的主要基于观察者的设计模式&#xff0c;他主要分为两个部分&#xff1a; 提供者Provider&a…

【React】极客园--01.项目前置准备

项目搭建 基于CRA创建项目 CRA是一个底层基于webpack快速创建React项目的脚手架工具 # 使用npx创建项目 npx create-react-app react-jike# 进入到项 cd react-jike# 启动项目 npm start调整项目目录结构 -src-apis 项目接口函数-assets 项目资源文件&…

CSS【实战】抽屉动画

效果预览 技术要点 实现思路 元素固定布局&#xff08;fixed&#xff09;在窗口最右侧外部js 定时器改变元素的 right 属性&#xff0c;控制元素移入&#xff0c;移出 过渡动画 transition transition: 过渡的属性 过渡的持续时间 过渡时间函数 延迟时间此处改变的是 right …

笔记-前端

URL 输入到渲染的过程 域名解析&#xff0c;找到服务地址 构建 TCP 连接&#xff0c;若有 https&#xff0c;则多一层 TLS 握手&#xff0c; 特殊响应码处理 301 302 解析文档 构建 dom 树和 csscom 生成渲染树&#xff1a;从DOM树的根节点开始遍历每个可见节点&#xff0c;对于…

shell脚本之函数

一、1.函数&#xff1a;将命令序列按照固定的表达格式写在一起 2.函数作用&#xff1a;可以重复使用的命令序列&#xff0c;大的工程分割成若干个小块&#xff0c;依次执行&#xff0c;提高代码的可读性。 3.函数的两种格式 4.return作用&#xff1a;只能写在函数内部&#xff…