说到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. 高并发下的接口幂等性解决方案
  2. SpaceX「十一手」火箭创纪录,一天内两次升空,马斯克:飞100次才退役
  3. Java RESTful 框架的性能比较
  4. Docker镜像仓库
  5. python --- 使用conda配置pytorch
  6. Vue基础之Vue条件渲染
  7. 摸鱼也要讲究方法:工作学习中玩手机并不能缓解无聊和疲劳
  8. Discuz x1.0 修改游客浏览图片、附件权限
  9. 自己动手清除电脑中的***程序
  10. ACM-Satellite Photographs
  11. 伪随机数生成算法-梅森旋转(Mersenne Twister/MT)
  12. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第4节 方法引用_6_方法引用_类的构造器(构造方法)引用...
  13. 5 添加数据获得id_D3库实践笔记之元素定位与数据绑定 |可视化系列33
  14. 【机械仿真】基于matlab GUI 汽车悬架(钢板弹簧+减震器)设计【含Matlab源码 1631期】
  15. 早鸟票开售 | 世界级大师Sanjiv和他的敏捷领导力(CAL)认证课程
  16. [转][darkbaby]任天堂传——失落的泰坦王朝(中)
  17. RabbitMQ学习(二)-Rabbit的使用
  18. 微信朋友圈点赞测试用例
  19. 第十二周项目5-迷宫问题之图深度优先遍历解法
  20. C# Form默认的确认和取消按钮

热门文章

  1. 视频号的播放量和互动率、完播率密不可分
  2. laravel的使用-模型和数据库基本操作
  3. B站再出争议,大会员提前三天扣费,这波小破站赚了多少?
  4. java 学习之 字符反写
  5. 关于推荐系统中的DOA
  6. python爬虫网易云音乐评论最多的歌_使用Python爬一爬网易云音乐上那些评论火爆的歌曲...
  7. 火狐插件油猴Greasemonkey系列二
  8. 偶数科技为辽宁农信数字化进程添加新动能
  9. 小米手机遇到卡顿问题怎么抓当时的日志
  10. java获取拼音_java获取中文拼音