以命令行形式执行Postman脚本(使用Newman)

一、背景

​ Postman的操作离不开客户端。但是在一些情况下可能无法使用客户端去进行脚本执行。比如在服务端进行接口测试。由此我们引入了Newman。Newman基于Node.js开发,它使您可以直接从命令行轻松运行和测试Postman测试集。它在构建时考虑了可扩展性,因此您可以轻松地将其与持续集成服务器集成并构建系统。

二、Newman的安装

​ 因为Newman是基于Node.js开发的,所以我们需要确保我们的电脑拥有Node.js环境。

1、Node.js

键入CMD,检查电脑Node.js环境,确保node.js版本大于16,否则无法安装Newman

node -v

如没有node,请到node.js官方网站下载,根据对应系统下载相应的包即可,下载完成后,双击下载文件,根据提示,完成软件安装。

2、Newman

进入CMD,使用node.js的npm来进行安装,-g的意思是全局安装Newman,这将允许用户从任何地方运行它。

npm install -g newman

检查newman是否安装完成

newman -v

显示版本号即安装成功

三、脚本准备

新建项目目录

├─newmanTest
│ ├─env # 存放环境变量文件
│ ├─global # 存放全局变量文件
│ ├─reports # 存放报告
│ ├─scripts # 存放脚本
│ └─testdata # 存放参数化文件 当然也可以只新建一个文件夹放入全部项目文件

进入Postman,右击需要导出的collection选择export导出脚本,将脚本存放于script下

注意:

  • 导出的脚本不包括环境变量及全局变量,需要另外导出!
  • 脚本名称不能带有空格,带有空格的话Newman只会识别空格前内容,会找不到文件

导出环境变量到env目录下

同理,如有全局变量也需要导出后存放在global,参数化文件放置于testdata下。

四、Newman的执行

​ 具体的一些参数,我们在newman的帮助文档中看到。这里介绍一些比较常用的参数。

帮助文档可以输入newman run -h或newman run --help查看

1、run

CMD进入项目文件夹下的script,输入命令

newman run S9.postman_collection.json

当然还有一种方式,我们可以直接在run后面跟URL,例如

newman run https://postman-echo.com/get?fool=bar1

2、变量的使用

我们可以使用-e参数来制定环境变量文件的路径,使用-g来指定全局变量文件的路径,例如:

newman run S9.postman_collection.json -e ../env/PRE_ENV.postman_environment.json -g ../global/workspace.postman_globals.json

3、参数化文件

当脚本存在参数化文件时,我们可以通过-d参数来指定参数化文件的路径

newman run S9.postman_collection.json -d ../testdata/param.csv

4、指定folder

在有的collection中会分好多个folder存放,当不设置该项参数时,Newman会默认执行全部。而如果需要执行指定的folder,那么就可以用--folder来指定需要执行的folder。例如:

newman run S9.postman_collection.json --folder 菜单

五、生成报告

1、生成简洁版html报告

在第一次使用时,需要安装相关插件,同样是借助npm来安装

npm install -g newman-reporter-html

执行命令生成html报告,-r参数表示指定生成报告的类型

newman run S9.postman_collection.json -e ../env/PRE_ENV.postman_environment.json --folder 菜单 -r html --reporter-html-export ../reports/test_file_01.html

执行完成后可进入reports目录打开报告查看

2、生成加强版html测试报告和Json测试报告

在第一次使用时,同样需要安装相关插件

npm install -g newman-reporter-htmlextra

执行命令生成报告

newman run S9.postman_collection.json -e ../env/PRE_ENV.postman_environment.json --folder 菜单 -r htmlextra,json --reporter-htmlextra-export ../reports/test_file_02.html --reporter-json-export ../reports/test_file_02.json

查看reports文件夹下的html文件并打开

【Postman】以命令行形式执行Postman脚本(使用newman)的更多相关文章

  1. MySQL命令行下执行.sql脚本详解

    本文主要介绍一个在MySQL命令行下执行脚本文件的例子,通过这个例子让我们来了解一下在命令行下MySQL是怎样执行脚本的吧.现在我们开始介绍这一过程. 1.首先编写sql脚本,保存为的:book.sq ...

  2. Windows命令行方式执行OracleSQL脚本

    调用格式 sqlplus user/pwd@orcl @F:\DB_BAKFile\createpro.sql>>F:\DB_BAKFile\log\createpro.log SQL脚本 ...

  3. mysql命令行如何执行sql脚本

    本文介绍在windows操作系统和Linux操作系统中,如何在命令界面模式下执行对应的sql脚本到mysql数据库 Windows操作系统下 mysql -u root -p db1 < E:\ ...

  4. plsql命令行窗口执行脚本打印输出

    1.我们可以写一些简单的检查数据库的检查脚本 prompt Importing table t_test0... set feedback off set define off ; ; prompt ...

  5. MySQL命令行下执行sql文件(sql脚本)

    在mysql命令行下执行sql文件(sql脚本) mysql> source    sql文件完整路径 如: mysql> source   D:\\MySQL\\create.sql 文 ...

  6. FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑

    FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没 ...

  7. 转 mysql mysql命令行中执行sql的几种方式总结

    https://www.jb51.net/article/96394.htm 1.直接输入sql执行 MySQL> select now(); +---------------------+ | ...

  8. 使用命令行方式运行 JMeter 脚本

    For non-interactive testing, you may choose to run JMeter without the GUI. To do so, use the followi ...

  9. 在linux命令行下执行php 程序

    如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...

  10. Linux 在一个命令行上执行多个命令

    Linux 在一个命令行上执行多个命令 1. [ ; ] 如果被分号(;)所分隔的命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令. 2. [ && ] 如果命令被 &am ...

随机推荐

  1. 1. Spring 简介

    1. Spring 概述 ‍ 官网地址:​https://spring.io/ ‍ Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框 ...

  2. 【大数据OLAP技术新书推荐】 字节跳动、阿里巴巴大厂资深架构师程序员多年实践经验总结《ClickHouse入门、实战与进阶》

    ClickHouse 领域集大成之作-ClickHouse 入门进阶实战的标准参考书-日常工作案头必备! 如果需要购买阅读的话,可以点击: https://item.jd.com/1007763561 ...

  3. 好用到飞起的新项目「GitHub 热点速览」

    虽然本周 GitHub 热榜都是一些熟悉的面孔,但还是有不少新开源的项目,比如受启发于 Stripe IDs 的 UUIDv7 扩展 typeid,相信有了它,数据标识问题就迎刃而解了.此外,还有刚开 ...

  4. 详解RISC v中断

    声明 本文为本人原创,未经许可严禁转载.部分图源自网络,如有侵权,联系删除. RISC-V 中断与异常 trap(陷阱)可以分为异常与中断.在 RISC v 下,中断有三种来源:software in ...

  5. 详解同为4800W像素的相机传感器,三星GM1和索尼IMX586区别在哪里?

    数字影像之父Bryce Bayer基于RGB模式,通过在感光元件前加上一个滤镜的方法终于实现了彩色照片.Bayer滤镜跨出了照片从黑白到彩色的一大步,但是对于挑剔的人眼来说,每个像素只有一个颜色是远远 ...

  6. mysql:EXPLAIN

    推荐阅读原文:EXPLAIN用法和结果分析 语法:EXPLAIN SELECT * FROM t1 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句 ...

  7. React:styled-components有趣的用法

    背景 用于记录一些styled-components的有趣的用法 绑定a标签的链接 编写伪类 在styleComponents中使用参数 传入参数

  8. [ansible]常用内置模块

    前言 ansible内置了很多模块,常用的并不多,可以通过ansible -l命令列出所有模块,使用 ansible-doc module-name 查看指定模块的帮助文档,例如:ansible-do ...

  9. buu-(ACTF新生赛2020)usualCrypt

    base64的常用套路了 文件直接给base,我大胆盲猜base64: 先进sub-401080函数康康: 先看byte-40e0a0 这个很明显了,然后看上面的函数 进这连个地址发现是base64加 ...

  10. 只要学会这些AI工具,一个人就是一家营销咨询公司

    随着AI工具的不断涌现,您只需掌握市面上热门的AI工具,便可独自开展营销咨询公司.通过一系列AI工具,您可以为企业提供全案服务,收获丰厚回报. 例如,在协助一家美妆初创公司出海时,我们运用一系列AI工 ...