Postman学习宝典(三)
Postman 入门3 - Newman
Newman
Newman 安装
嗯,它需要安装,因为它不是音乐播放器!Newman是为Postman而生,专门用来运行Postman编写好的脚本。Newman安装步骤:
1. 需要安装Node.js,并且Node.js版本需要>=V6
各系统安装Node.js可参照这个链接:https://www.runoob.com/nodejs/nodejs-install-setup.html
2.打开控制台,运行:
$ npm install -g newman // 安装newman
$ npm install -g newman-reporter-html //为了能生成html的测试报告,安装html report报告模块
3.可用如下命令校验是否安装成功:

Newman 执行脚本
Newman在3版本后做了比较大的改动,但是运行命令越来越简单,这里以v4.5版本为例:
newman run <collection-file-source> [options]
run :
后面跟上要执行的json文件或者URL(json 和 URL 都由postman导出生成),再后面跟一些参数,例如环境变量,测试报告,接口请求超时时间等等。
1.导出json格式文件
说到导出json文件大家应该常用,直接运行export就能导出json格式的文件到本地
2.下面讲讲如何导出URL格式的文件
点击集合三个点然后再点击Share Collection

在弹框中选择Collecttion Link便生成了URL,点击Copy To Clipboard复制链接到粘贴板

options:

newman下主要有两个操作一个-v和-h:
-v实际上是--version的缩写,用来查看newman的版本信息
-h实际上是--help的缩写,用来查看newman使用帮助信息
newman run有很多个options:
在dos下使用以下命令查看run下的操作
newman run --help
下面来讲讲比较常用的option:

-n:主要用来定义迭代次数,在运行集合或请求时需要循环的次数可使用-n number来定义

-d:在使用数据驱动方式时,定义提供的参数化文件(本地json或csv格式),数据文件运行多次迭代时,每次迭代使用其中一组变量

-e和-g:都是用来定义集合或者请求url的变量的,也是需要导出到本地,以文件的形式指定

-r:用来定义输出报告的格式,一般默认的是cli,也就是客户端运行界面显示的格式,这里还执行另外三种格式html、json、junit(也就是xml格式),如果想一次输出多个格式的报告可以使用下面的命令
-r cli,html,json,junit

-k:有些网站是采用的https协议,在http协议上增加了ssl协议安全加密,使用-k就能够轻松的跳过登录后弹出证书验证的情况

--export:定义输出格式,后面的参数是输出路径,下面具体举几个例子:
在实际应用中的格式:
--reporter-[format]-export <path> --reporter-junit-export C:\Desktop//使用xml格式输出报告到桌面 --reporter-html-export C:\Desktop//使用html格式输出报告到桌面 --reporter-json-export C:\Desktop//使用json格式输出报告到桌面
下面举几个完整性的例子做参考:
例子1,通过newman 运行postman导出的test1.json文件,忽略ssl验证,迭代4次,并生成多种测试报告(json,junit的xml,html):
newman run C:\postman\test1.json -r cli,junit,html,json --reporter-json-export C:\postman\json_result.json --reporter-junit-export C:\postman\xml_result.xml --reporter-html-export C:\postman\html_result.html -k -n
例子2,运行https://www.getpostman.com/collections/10d6f9f4b681917bf258(postman生成的 )中的所有api,并使用env.json作为环境变量和globals.json作为全局变量,并使用外部user.json作为外部数据,最后设置了接口请求超时时间为5S 。
newman run https://www.getpostman.com/collections/10d6f9f4b681917bf258 -e C:\postman\env.json -d C:\postman\user.json -g C:\postman\globals.json --timeout-request 5000 --reporters cli,html --reporter-html-export C:\postman\htmlOut.html
结合Jenkins持续集成
平时做接口自动化,避免不了最后通过Jenkins做构建。既然Newman提供了控制台命令执行方式,那么像通过Jenkins来构建也就容易多了。
步骤一:在Jenkins 机器上安装Node.js、Newman
步骤二:搭建Jenkins环境,并新建个自由风格的Job
步骤三:构建选择Execute Windows batch command,并输入newman 运行命令

步骤四:因为上面命令中构建会生成junit的xml报告,所以可以在构建后用Publish JUnit test result report 插件来生成测试报告。

Postman学习宝典(三)的更多相关文章
- Postman学习宝典(一)
前言:网上看到的比较好的Postman教程,既然已经有了,我就不重复造轮子了,直接copy过来. 资源来源于:米阳MeYoung Postman 入门1- 安装.变量.代理 简介 Postman 是一 ...
- Postman学习宝典(二)
文章来源于:米阳MeYoung Postman 入门2 - Script.Runner 上次Postman 入门1 我们介绍全局变量和环境变量时已经使用过Tests 和 pre-request scr ...
- 爱了,字节跳动大神最佳整理:582页Android NDK七大模块学习宝典,理论与实践
前言 时至今日,短视频App可谓是如日中天,一片兴兴向荣.随着短视频的兴起,音视频开发也越来越受到重视,而且薪资水涨船高,以一线城市为例,音视频工程开发的薪资比Android应用层开发高出40%. 但 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- 从零开始学习jQuery (三) 管理jQuery包装集
本系列文章导航 从零开始学习jQuery (三) 管理jQuery包装集 一.摘要 在使用jQuery选择器获取到jQuery包装集后, 我们需要对其进行操作. 本章首先讲解如何动态的创建元素, 接着 ...
- 前端学习 第三弹: JavaScript语言的特性与发展
前端学习 第三弹: JavaScript语言的特性与发展 javascript的缺点 1.没有命名空间,没有多文件的规范,同名函数相互覆盖 导致js的模块化很差 2.标准库很小 3.null和unde ...
- Android Animation学习(三) ApiDemos解析:XML动画文件的使用
Android Animation学习(三) ApiDemos解析:XML动画文件的使用 可以用XML文件来定义Animation. 文件必须有一个唯一的根节点: <set>, <o ...
- 三、Android学习第三天——Activity的布局初步介绍(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 三.Android学习第三天——Activity的布局初步介绍 今天总结下 ...
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB
JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...
随机推荐
- pysparnn 模块使用,相似句子召回
import pysparnn.cluster_index as ci from sklearn.feature_extraction.text import TfidfVectorizer data ...
- sql注入原理+mysql相关知识点
什么是SQL注入 sql就是经常说的数据库,而sql注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.SQL注入是比较常见的网络攻击 ...
- STM32 内存分配解析及变量的存储位置
内存映射 在一些桌面程序中,整个内存映射是通过虚拟内存来进行管理的,使用一种称为内存管理单元(MMU)的硬件结构来将程序的内存映射到物理RAM.在对于 RAM 紧缺的嵌入式系统中,是缺少 MMU 内存 ...
- 关于Swiper和vue数据顺序加载问题处理
在使用swiper插件的时候,常常因为异步加载数据产生的顺序问题而使插件不能正常实行,所以可以使用vue的updated来解决. 问:什么时候 进updated方法? 答:只有事先设置好的data变量 ...
- discuz-目录
由于工作原因,开始学习discuz,0基础开发,学了一会总结了一些
- 20199326《Linux内核原理与分析》第十一周作业
Shellsock攻击实验 实验背景 2014年9月24日,Bash中发现了一个严重漏洞shellshock,该漏洞可用于许多系统,并且既可以远程也可以在本地触发. Shellshock,又称Bash ...
- Asynchronous Disk I/O Appears as Synchronous on Windows
Summary File I/O on Microsoft Windows can be synchronous or asynchronous. The default behavior for I ...
- Makefile 头文件 <> 与 "" 的差别,与 Visual Studio 不同
#include "" : 首先在所有被编译的.c所在的路径中,查找头文件,如果找不到,则到 -I路径下去找头文件 #inclue <> :首先在-I路径下去找,如果找 ...
- 怎么在java中创建一个自定义的collector
目录 简介 Collector介绍 自定义Collector 总结 怎么在java中创建一个自定义的collector 简介 在之前的java collectors文章里面,我们讲到了stream的c ...
- Netty(一):ByteBuf读写过程图解
我们知道ByteBuf通过读写两个索引分离,避免了NIO中ByteBuffer中读写模式切换时,需要flip等繁琐的操作. 今天就通过一段测试代码以及图例来直观的了解下ByteBuf中的readInd ...