• 1
  • 1
分享

  为了回馈广大用户对51Testing软件测试网的支持,我们准备了一份价值398元的测试实战课程礼包,只需填写下方链接的行业调查问卷即可免费领取~ 链接:http://vote.51testing.com/


  随着公司微服务体系服务越来越多,业务增长越来越迅速,版本迭代越来越快,而且对系统的可用性要求越来越高,传统的手工发布系统的方式已经完全无法满足日常运维的需求了,自动化构建发布的需求越来越强烈,但是自动化发布有个基础的环境,自动化测试,鉴于团队规模不大,测试人员的能力参差不齐,自动化测试我们选择了以开发测试一起搭建的方式,通过轻量级的工具postman进行自动化测试。

  测试文件共享

  postman可以将测试的接口进行collections分组,分组后的一组接口可以进行导出,如图:

1-1.png

  导出后的文件,可以作为测试脚本共享,使用的人员只要导入,即可使用。

1-2.png

  这样,就可以在不同人员间,共享一个测试的文件。当然,如果能升级到高级版,可以直接通过不同的账号在云端共享测试文件,更加方便。

  脚本测试

  一直以来,我们都是介绍通过postman 的UI进行测试的,但是,实际做自动化测试的时候,我们更多是使用脚本,特别是在生产环境,通过脚本进行测试,就是必然了。postman为我提供了一个测试的工具——newman,基于node.js的一个脚本测试工具。

  安装

  先安装node.js,这里不赘述了,开发人员必备工具。在安装newman:

  npm install -g newman

  初步使用

  记得前面介绍的,我们导出的测试文件吧,那个文件除了分享给别人,也是我们用来测试的文件。

  newman run 11.json

  11.json 就是我刚才导出的文件,使用脚本文件类型必须是json。 这时候看看我们测试发生了什么?

1-3.png

  貌似,失败了。提示我们循环,执行了一次,6个请求,但是全部都失败了。看到错误的信息发现URI不正确,因为我用到postman了环境变量,但是导出的结果里没有环境变量。这时候我们需要调整一下执行的脚本。

  newman run 11.json -e url.json

  url.json 实际是我们需要当前执行的环境变量,文件从就是如图方式导出的:

1-4.png

1-7.png

  导出后,我们也是将文件命名为json类型的文件。这样我看下我们执行的结果。

1-5.png

  全部执行成功了。就是这么简单。一个命令配上我们开发时候就需要用到的测试文件,就可以了,无需另外的测试脚本,用一个shell脚本即可完成结果的测试。

  参数详解

  newman是个非常轻量级的命令,参数很少,这里我们列出常用的几个参数:

  参数详细说明-e环境变量(environment)文件路径或者url,json文件-g全部配置(Global)文件路径或url,json文件-d测试数据文件路径,cvs文件-n循环测试次数--delay-request延迟执行时间--timeout-request请求超时时间--bail其中一个接口失败后,是否继续执行。

  总结

  这样一个非常轻量级的自动化测试脚本就做好了,当然,这是我们做自动化构建发布一个前提,postman的优势是将日常开发中需要用的测试工具做成通过shell就能执行的工具,比专门花时间了编写soapui这样的脚本来说,更加轻量级,更加友好,当集成了shell的相关功能后,对于开发人员来说,可扩展性就变得非常容易了,后面的文章我将会介绍如何结合postman,再整合其他构建发布工具,来对我们的微服务进行发布,真正做到了自动化的发布、测试,而且能做到不停机、不影响用户使用情况下完成系统的发布。


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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   管理浅认知  很多时候,我们对管理工作的一般的认知带几个员工,对上做到及时汇报,对下提出目标、制订计划、检查反馈并进行改进,就是所谓的PDCA循环(PDCA循环的含义是将质量管理分为四个阶段,即Plan(计划)、Do(执行)、Check(检查)和Act(处理)),以此达到总体的目标规划。  于我而言,这是我们常说的纵向管理分支,今天我想来谈的是横向的管理。  横向管理是指管理除内部人员外的其他人员(如开发人员、需求人员、设计人员),与这些人的对接既是沟通也是管理,下面画了一个模型,浅显易懂。  本篇故事内容针对与开发人员的经典案例,我应对的方案及办法,有时候处理办法不固定,找到适合自己的就...
            0 0 948
            分享
          •        大家往往会选择一本数据科学相关书籍或者完成一门在线课程来学习和掌握机器学习。但是,实际情况往往是,学完之后反而并不清楚这些技术怎样才能被用在实际的项目流程中。就像你的脑海中已经有了一块块”拼图“(机器学习技术),你却不知道如何讲他们拼起来应用在实际的项目中。如果你也遇见过同样的问题,那么这篇文章应该是你想要的。本系列文章将介绍一个针对真实世界实际数据集的完整机器学习解决方案,让您了解所有部分如何结合在一起。本系列文章按照一般机器学习工作流程逐步进行:数据清洗和格式化探索性数据分析特色工程和选择在性能指标上比较几种机器学习模型对最佳模型执行超...
            0 0 1061
            分享
          • Linux操作系统的不断发展,给全世界的系统研究带来了一股新的活力。下面由学习啦小编为大家整理了Linux主流的操作系统的详细介绍,希望对大家有帮助!Linux主流的操作系统详细介绍如今,随着Linux的不断发展,Linux所支持的文件系统类型也在迅速扩充。伴随着Linux新版本的发行,出现了大量的文件系统可能性,其中每一个不同版本的Linux所支持的文件系统类型种类都有所不同,使得用户很难了解这些不同版本产品的特点和应用方式。再有,基于Linux开放源码的特性,越来越多大中型企业及政府也投入更多的资源来开发Linux.现今世界上,越来越多国家逐渐的把政府机构内部门的电脑转移到Linux上,加...
            0 0 1000
            分享
          •   今天主要聊一聊银行的测试岗  互联网大厂工资高,但也不是那么好进的,这两年内卷越来越严重,想进大厂也越来越难。而银行的测试岗难度则会小很多,工资也还说的过去,并且工作相对稳定,很少会裁员,但可能会对学历有一定要求(相比于互联网公司)。  下面先来看几个问题,看看你是否适合去银行做测试。  ·是否能接受较低的工资,并且涨薪很慢(这是相比于互联网,如果和传统行业相比,工资还是可以的)  · 是否能接受较落后的技术栈,并且技术上的成长性较差(因为银行都是稳定为主,一般对技术要求并没有那些高)  · 是否能接受在职业晋升上会有论资排辈的情况存在  · 是否能接受国企那...
            0 0 2025
            分享
          • 据彭博社MarkGurman报道,苹果公司计划在9月7日星期三(预计北京时间9月8日凌晨)举行首次秋季发布会活动。该活动将重点发布iPhone14系列机型和AppleWatchSeries8。Gurman:苹果iPhone14/Pro系列和AppleWatchSeries8发布会将在9月7日举行,9月16日开卖标准版iPhone14机型预计将几乎没有变化,但iPhone14Pro机型将包括更新的摄像头技术、取消刘海凹槽更换为“药丸+单打孔”、A16芯片等。苹果计划共发布四款iPhone14系列机型,包括6.1英寸iPhone14、6.7英寸iPhone14Max、6.1英寸iPhone14Pr...
            0 0 1068
            分享
      • 51testing软件测试圈微信