说到Postman相信大家都已经很熟悉了,我们平时用它可以做API测试,trouble shooting,辅助开发等,能够很方便的进行手工测试和调试。

今天我们来说postman除了这些功能之外的其他的用法。

Newman的基本功能

安装和运行简单的脚本

上面提到了postman的基本功能,但是postman也提供了Non GUI的形式,也就是newman。newman的安装很简单,直接用命令npm install -g newman就可以安装,或者下载安装包后配置一下环境变量后也可以直接使用。脚本可以直接从postman中导出,导出之后直接可以通过命令newman run mycollection.json运行。

提供运行的参数和选项

Newman提供很多运行的选项,通常用的

-e,--environment指的是运行文件的时候需要哪些环境变量,这个环境变量和postman中运行collection的环境变量是一样的

-d,--data 指的是运行脚本时文件是哪个,文件可以是.json文件,也可以为.csv的文件。Postman里面也可以在Runner里面指定运行时需要的文件,用于批量运行脚本。使用的场景是当我们需要将一个API根据不同的数据运行多次的时候。

-n,--iteration-count,这个很好理解,适合于我们需要将一个API运行多次的时候。

还有一些其他的用法比如--delay-request,--timeout-request等,官方网站上都有很详细的解释,大家有时间可以了解一下。

Assert功能

Postman提供很丰富的assert功能,实际上newman提供所有的JS语法,只需要将assert写在Test的tab下面即可,当把postman的请求导出之后,assert语句也会被放在生成的jason文件之中,如下图:

npm工程化

由于newman本身支持的是js语言,而且导出的文件也jason的文件,所以一般如果我们的项目是js的工程,集成起来非常方便,但是如果非要和gradle或者maven等集成,技术本身也是没有问题的。

与Jenkins集成

平时做接口自动化,避免不了最后通过Jenkins做构建。既然Newman提供了控制台命令执行方式,那么像通过Jenkins来构建也就容易多了。只需要在在Jenkins 机器上安装Newman。然后新建个Job,构建选择Execute Windows batch command,并输入newman 运行命令就可以了,本身与其他的工具或者框架的构建区别不大。

造数据和简单的性能测试

由于postman提供runner的功能,在里面我们可以定义一个API运行的次数,delay时间,等当我们运行一些简单的API测试,或者造数据的时候,我们可以用postman来做。

之前有一个例子是造数据,因为我们需要早上万条数据, 如果用人工或者UI的自动化去造数据,是不可能的,所以我们选择了从API层面去造数据,但是有一些特殊的需求是,我们在造数据的时候,某些字段必须是不能重复的字段,所以在调用完一个API之后我们需要动态的改变一些指,我们也是在Post的test Tab下写了脚本去实现。 如下,先定义了一个环境变量,然后再调用的过程中动态的修改这个变量:

当然postman也可以做一些简单的性能测试,比如之前遇到的场景是有一个API去调用数据库,生成一个唯一的数字,我们也可以简单的配置API的调动次数,来验证数据库的并发,甚至可以多开几个postman的runer客户端去运行,来确保并发。

具体的例子

项目上遇到的场景是,我们需要对google提供某个server进行API的验证,调用的方式很简单,都是一些get的请求,get的方法里面可以带一些参数,需求是,参数分为不同的组,不同的组得到不同的返回,相同组的参数得到相同的返回,参数在不同组内不重合。

比如,分十组,组1里面的参数为a,b,c. 组2的参数为d,e,f。那们当我传a,b或者c的时候我希望得到相同的返回X,而传d,e,f的时候我希望得到另外一个返回Y。用到的也是newman里面的data和环境变量。下面是data文件的定义,API会依次去传入下面的参数,依次运行3遍:

下面是调用API时传入的环境变量(用于区分不同的环境)以及npm的工程化:

个人认为Postman/newman在API测试方面提供丰富的功能,只要不是非常繁琐和复杂的API调用,完全能够满足大多数项目的需求

newman执行测试_用Postman/Newman搞定API测试相关推荐

  1. 网页兼容性测试软件,12款超棒的浏览器兼容性测试工具让你轻松搞定Bug

    原标题:12款超棒的浏览器兼容性测试工具让你轻松搞定Bug Spoon Browser Sandbox 点击你需要测试的浏览器环境,安装插件就可以进行测试了.帮助你测试网页在Safari.Chrome ...

  2. 可视化接口管理平台 YApi,让你轻松搞定 API 的管理问题

    随着开发的推进,各种各样的文档会接踵而来,比如:需求文档.架构文档.接口文档等等,我们通过 SVN.Git 等可以很方便的管理,面对需求的不断变化,我们需要不断的对各类文档进行维护.但在开发阶段,针对 ...

  3. a类不确定度计算器_统统帮您搞定:LIMS系统,换版、内审、期间核查、不确定度、数据分析…………...

    CNAS实验室认可ISO17025三年的过渡期,所有获认可实验室应在2020年11月30日前完成新版CL01的转换工作.实验室转换工作的完成以取得依据ISO/IEC17025:2017颁发的认可证书为 ...

  4. django默认缓存是多大_半个月搞定Django绝不是空话

    Python下有许多款不同的Web框架,Django是重量级选手中最有代表性的一位.它由Python写成,采用MVC的软件设计模式,许多成功的网站和APP都基于Django. 无论你是Python开发 ...

  5. python 训练识别验证码_用Python机器学习搞定验证码

    原标题:用Python机器学习搞定验证码 写爬虫有一个绕不过去的问题就是验证码,现在验证码分类大概有4种: 图像类 滑动类 点击类 语音类 今天先来看看图像类,这类验证码大多是数字.字母的组合,国内也 ...

  6. 手机密码锁机的朋友不用再去营业厅解锁.自己搞定(未测试)

    (注意:本文为网上收集,仅仅为个人收藏,如果强行使用造成严重后果本人不负任何责任! 强烈建议:锁了机还是拿到营业厅解锁) 手机密码锁机的朋友不用再去营业厅解锁.自己搞定 解话机锁:*2767*2878 ...

  7. cucumber测试_如何在Cucumber中进行后端测试

    cucumber测试 Cucumber是一种规范语言的执行框架. 它并不是要成为测试语言,而是用于创建测试自动化. Cucumber最适合出现一些实际参与者互动并取得某种成果的情况. 当可以从用户的角 ...

  8. java 压力测试_使用 JMeter 完成常用的压力测试

    讲到测试,人们脑海中首先浮现的就是针对软件正确性的测试,即常说的功能测试.但是软件仅仅只是功能正确是不够的.在实际开发中,还有其它的非功能因素也起着决定性的因素,例如软件的响应速度.影响软件响应速度的 ...

  9. python怎么识别图片里面的文字并合成语音_几行代码搞定识别图片中的文字信息,同时转换成语音...

    image前几天想把一篇不错的文章保存下来,无奈是图片的,于是想利用python把图片中的文字识别出来 实现的方式还是挺多的,这里介绍下百度的AI开放平台,毕竟大公司,感觉识别的精度会高点,同时相信他 ...

最新文章

  1. CentOS 7.0下使用yum安装MySQL
  2. 世界上最伟大的十个公式,看看你懂得几个?
  3. 设计灵感|如何设计出简洁吸引人的字体海报?
  4. php延迟静态绑定,延迟静态绑定——static
  5. 学习web前端前景怎么样?
  6. Cgroup学习之——Ubuntu下交叉编译ARM平台libcgroup工具
  7. 汇编语言--DOSBox 0.74的安装与简单使用
  8. 面对众多客户/用户需求,每个都紧急,怎么排期?
  9. 数字信号处理的典型应用
  10. IT管理到底是做什么
  11. 2022.10.23高沿坪易地扶贫 霜降
  12. 稳定版正式发布 | 用 Flutter 构建 Windows 桌面应用程序
  13. tensor 张量保存为txt文件
  14. OpenMP编程指南
  15. 2016新华三杯复赛实验试题
  16. 将时分秒的时间转为2020-11-12T20:00:00.000+08:00格式
  17. javascript 压缩工具
  18. 很腻害的视频,回味百遍
  19. 史上最牛逼的音乐播放器—仿网易云音乐(已开源)
  20. 一人之下双词条鸿蒙,《一人之下》张怀义的两大秘密,都是人人梦寐以求的!...

热门文章

  1. 《海边的卡夫卡》阅读琐记
  2. 荣耀7c升鸿蒙,荣耀也能升级!鸿蒙所需配置曝光:麒麟710起步
  3. C#学习笔记——观察者模式及实现
  4. 区块链P2P网络协议演进过程
  5. 微擎安装遇到一个问题,大佬救救我
  6. razer鼠标测试软件,驱动软实力对比测试_Razer 炼狱蝰蛇2013鼠标_键鼠评测-中关村在线...
  7. No.2第一章 启航 | Flink 知其然,知其所以然
  8. 黑马程序员之ios学习总结——10 OC语言的构造方法和分类
  9. 专题分纲目录 形式逻辑
  10. DAY45(DAY46拓展):SOCKS 代理技术