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学习宝典(三)的更多相关文章

  1. Postman学习宝典(一)

    前言:网上看到的比较好的Postman教程,既然已经有了,我就不重复造轮子了,直接copy过来. 资源来源于:米阳MeYoung Postman 入门1- 安装.变量.代理 简介 Postman 是一 ...

  2. Postman学习宝典(二)

    文章来源于:米阳MeYoung Postman 入门2 - Script.Runner 上次Postman 入门1 我们介绍全局变量和环境变量时已经使用过Tests 和 pre-request scr ...

  3. 爱了,字节跳动大神最佳整理:582页Android NDK七大模块学习宝典,理论与实践

    前言 时至今日,短视频App可谓是如日中天,一片兴兴向荣.随着短视频的兴起,音视频开发也越来越受到重视,而且薪资水涨船高,以一线城市为例,音视频工程开发的薪资比Android应用层开发高出40%. 但 ...

  4. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  5. 从零开始学习jQuery (三) 管理jQuery包装集

    本系列文章导航 从零开始学习jQuery (三) 管理jQuery包装集 一.摘要 在使用jQuery选择器获取到jQuery包装集后, 我们需要对其进行操作. 本章首先讲解如何动态的创建元素, 接着 ...

  6. 前端学习 第三弹: JavaScript语言的特性与发展

    前端学习 第三弹: JavaScript语言的特性与发展 javascript的缺点 1.没有命名空间,没有多文件的规范,同名函数相互覆盖 导致js的模块化很差 2.标准库很小 3.null和unde ...

  7. Android Animation学习(三) ApiDemos解析:XML动画文件的使用

    Android Animation学习(三) ApiDemos解析:XML动画文件的使用 可以用XML文件来定义Animation. 文件必须有一个唯一的根节点: <set>, <o ...

  8. 三、Android学习第三天——Activity的布局初步介绍(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 三.Android学习第三天——Activity的布局初步介绍 今天总结下 ...

  9. JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB

    JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...

随机推荐

  1. 转:handler.post 为什么要将thread对象post到handler中执行呢?

    转载网址:http://blog.csdn.net/fei0724/article/details/8664462在Android中使用Handler和Thread线程执行后台操作 对于线程的控制,我 ...

  2. 共享文件夹下其他文件可以访问但php文件访问不了的原因

    刚开始的问题是在virtualbox里的共享文件夹下的项目运行不了,原因是宝塔下nginx的用户和用户组默认是www 和 www 需要改成www vboxsf(因为自动挂载的目录为/media/sf_ ...

  3. koa+mysql实现增删改查-全栈之路(001)

    Date: 2020-4-23 以前很少写文章,从今天开始我要挑战一下自己,连续输出100篇技术类文章.这100篇文章我尽量以实战案例为主. 如果你觉得本文还不错,记得关注或者给个 star,你们的赞 ...

  4. springmvc返回不带引号的字符串

    springmvc返回不带引号的字符串项目使用springboot开发的,大部分出参为json,使用的fastJson,现在有的接口需要返回一个success字符串,发现返回结果为“success”, ...

  5. Linux 软链接和硬链接

    系统链接文件 文件有文件名和数据,在Linux上被分成两个部分:用户数据(user data)与元数据(metadata) 用户数据:文件数据块(data block),数据块是记录文件真实内容的地方 ...

  6. nginx的数据结构集合(随时更新)

    在学习nginx的时候,因为其数据结构略多,看过后一般就忘记了.所以边学习边记录在这里吧,方便以后查看. ngx_buf_t:缓冲区结点 1: typedef struct ngx_buf_s ngx ...

  7. ipc$链接批量爆破

    写了一个bat bat code: @echo off cls echo Useage: % ip.txt pass.txt ) do ( FOR /F ) do ( echo net use \\% ...

  8. 设计模式(Java语言)- 建造者模式

    前言 在日常的生活中,我们可以经常看到建造者模式的影子.比如,建造房子,那么房子就是一个产品,房子由门,窗,墙,地板等部门组成.然后包工头在建造房子的时候就根据设计好的图纸来建造,但是包工头并不是亲自 ...

  9. MATLAB矩阵处理—特殊矩阵

    需要掌握 MATLAB语言中特殊矩阵 MATLAB语言中矩阵的变幻 MATLAB语言矩阵如何求值 MATLAB语言中特征值与特征向量 MATLAB语言中稀疏矩阵 2.1  特殊矩阵 如何建立矩阵? 逐 ...

  10. 你真的会用Flutter日期类组件吗

    Flutter系统提供了一些日期选择类组件,比如DayPicker.MonthPicker.YearPicker.showDatePicker.CupertinoDatePicker等,其中前4个为M ...