• 6
  • 6
分享

      许多测试工程师使用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)测试脚本记录器,然后单击“开始”。

    图1.png

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

    图2.png

      第2步-准备Postman进行记录

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

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

  3. 切换在为“CA证书”,并找到ApacheJMeterTemporaryRootCA.crt就是这样,现在Postman将使用JMeter的证书,并且JMeter将能够解密捕获的请求

图3.png

配置Postman以使用JMeter作为代理现在,您需要“告诉”Postman通过JMeter的HTTP(S)测试脚本记录器发送请求。

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

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

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

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

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

    图4.png

      步骤3-记录您的测试

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

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

图5.gif

      将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语言对其进行复制。


作者:软件测试test

原文链接:https://blog.csdn.net/qqqqqkmbnjjhb/article/details/109202482#comments_13786564

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   安全性测试(Security Testing)是指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程,其主要目的是查找软件自身程序设计中存在的安全隐患,并检查应用程序对非法侵入的防范能力,安全指标不同,测试策略也不同。  但安全是相对的,安全性测试并不能最终证明应用程序是安全的,而只能验证所设立策略的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。例如,测试应用软件在防止非授权的内部或外部用户的访问或故意破坏等情况时的运作。  软件安全是软件领域中一个重要的子领域,系统安全性测试包括应用程序和操作系统两个方面的安全性。而系统安全性又包括两个方面的测试:一是软件漏洞,设计上的缺陷或程...
            0 0 1063
            分享
          • 使用说明:http://quan.51testing.com/pcQuan/lecture/97开源项目地址: https://gitee.com/samllpig/SafeTool-51testing (谢谢大家点亮star)安全测试工具架构:安全测试工具v1.2版本更新内容:请求拦截功能,支持多个请求拦截   2. 响应拦截功能动图比较大,可以再git上看说明文档 https://gitee.com/samllpig/SafeTool-51testing
            3 3 3981
            分享
          •   就在我们等待英国竞争和市场管理局对微软以 690 亿美元收购动视暴雪的计划发出"同意/不同意"的信号时,一份新的报告称,微软最近对收购计划的修改将不必再经过欧盟的一系列调查。  欧盟监管机构--欧盟委员会早在今年 5 月就批准了微软收购动视暴雪的计划。然而,英国 CMA 于 4 月否决了同一计划,声称这会给微软在云游戏市场带来反竞争优势。  此后,微软向 CMA 提交了一份新计划。微软承诺让育碧通过云流媒体提供当前和未来的动视暴雪游戏。中国软件行业协会已临时批准了这一计划,预计将在 10 月 18 日之前给予最终批准。  有人猜测,由于微软计划的改变,欧盟可能会下令对该...
            0 0 1019
            分享
          •   1、GBASE简介说明  GBASE是国产的分布式并行集群数据库,据说有"三高"优势,即:高性能、高性价比、高可用性,不过查询速度确实很快,几千万的数据select  * 秒出;  先介绍下常用的表,Gbase的表分为哈希表、复制表、临时表等等,哈希表需要一个哈希字段,类似分区字段,复制表无需这个字段;一般大数据的表使用哈希分表,小数据的就是万级以下数据可以用复制表。  1.1、常用表介绍  复制表:创建表使用 REPLICATED 关键字,这样创建的表为复制表。复制表将会存储于 Gbase  Cluster 的各个节点上,每个节点都会保存完整数据。...
            0 0 5865
            分享
          •   文章的作者J.B. Rajkumar分享了他在敏捷环境中实施自动化回归测试的经验。  概述  最近,当我想利用四种资源开始一个新的自动化测试项目时,我首先想到的是使用敏捷方法中的任何一个,但是往往不能继续,因为一连串的问题浮现在了我的脑海里。这些问题类似"在自动化测试中使用敏捷方法是否可能?""我能否使用传统工具?""我是否应该使用开源工具?""如果我在敏捷环境中使用了自动化测试,那么我面临的挑战都有哪些?"。在这篇文章中,让我们一起分析,在自动化测试中使用了敏捷方法所遇到的一些挑战。在敏捷环境中的自动化测试处...
            0 0 3127
            分享
      • 51testing软件测试圈微信