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. An example shows several CIM-XML extension headers

    The example below shows several CIM-XML extension headers for a GetClass operation on the root/cimv2 ...

  2. Linux 如何通过 iscsi target name 获取 ip

    by Mike Andrews # lsscsi -t [:::] disk iqn.-.com.blockbridge:t-pjxfzufjkp-illoghjk,t,0x1 /dev/sda [: ...

  3. JVM原理与深度调优(一)

    什么是jvm jvm是java虚拟机 运行在用户态.通过应用程序实现java代码跨平台.与平台无关.实际上是"一次编译,到处执行" 1.从微观来说编译出来的是字节码!去到哪个平台都 ...

  4. Spring5参考指南:容器扩展

    文章目录 BeanPostProcessor自定义bean BeanFactoryPostProcessor自定义配置元数据 使用FactoryBean自定义实例化逻辑 Spring提供了一系列的接口 ...

  5. Spring5参考指南:Bean作用域

    文章目录 Bean作用域简介 Singleton作用域 Prototype作用域 Singleton Beans 中依赖 Prototype-bean web 作用域 Request scope Se ...

  6. 多方法解决设置width:100%再设置margin或padding溢出的问题

    2019独角兽企业重金招聘Python工程师标准>>> 当设置了父元素的宽度,子元素设置宽度为100%后再在加上子元素上添加padding或margin值就会溢出.举个例子: < ...

  7. centos分配IP脚本--写的第一个shell脚本

    IDC小菜鸟一枚,非科班出身.常常有客户的centos服务器需要分配15个IP甚至30个IP.每次需要手动分配十分麻烦,于是花了一天时间学了shell脚本,写了这个脚本. #!/bin/bash re ...

  8. 使用SWIG将C++接口转换成Java接口

    PS:此文章仅作为个人记录使用,代码属于私密,故无法公开: 以C++类classifier为例,文件保存于百度网盘 https://pan.baidu.com/s/1c2AwhaS(需密码) 系统:U ...

  9. python(If 判断)

    一.if判断 如果 条件满足,才能做某件事情, 如果 条件不满足,就做另外一件事情,或者什么也不做 注意: 代码的缩进为一个 tab 键,或者 4 个空格 在 Python 开发中,Tab 和空格不要 ...

  10. 在linux上搭建nacos集群(步骤详细,linux小白也搞得定)

    (1)nacos官网:https://github.com/alibaba/nacos/releases/tag/1.2.1下载nacos安装包到window本地(后缀为tar.zip) (2)在li ...