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

目录

前言:

      PostmanAPITestingLimitations

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


前言:

将Postman API测试转换为JMeter可以让我们更深入地对API进行测试,并进行更多的扩展和定制化的设置。

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

      PostmanAPITestingLimitations

      可扩展性

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

      性能测试能力

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

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

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

  • 多线程执行

  • 获取API的性能指标

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

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

      如何将PostmanAPI测试转换为JMeter测试

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

      第1步-准备JMeter进行录制

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

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

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

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

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

      第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)测试脚本记录器发送请求。

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

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

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

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

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

      步骤3-记录您的测试

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

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

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

      命令行记录

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

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

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

      BlazeMeter代理记录器

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

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

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

      局限性

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

  作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步! 

留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N4P3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=_IjHegeJ1FQnPeEKrMSmI4m8d-jOK2vN&authKey=QNcmDg0w07hxmEQGYswEgLBvrgH2VarqHkIDjZHQg2LOd4OtWxrw4pjErW9M5Gkc&noverify=0&group_code=574737577

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值