首页 > 其他分享 >【Postman】以命令行形式执行Postman脚本(使用newman)

【Postman】以命令行形式执行Postman脚本(使用newman)

时间:2023-10-10 15:22:55浏览次数:55  
标签:Newman run Postman newman json html 命令行 postman

以命令行形式执行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官方网站下载,根据对应系统下载相应的包即可,下载完成后,双击下载文件,根据提示,完成软件安装。

image-20231010134652542

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目录下

image-20231010140850658

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

四、Newman的执行

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

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

1、run

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

newman run S9.postman_collection.json

image-20231010143811312

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

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

image-20231010141856432

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目录打开报告查看

image-20231010144021077

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文件并打开

image-20231010144724034

标签:Newman,run,Postman,newman,json,html,命令行,postman
From: https://www.cnblogs.com/hmy71/p/newman1.html

相关文章

  • 接口自动化--postman(5)接口关联
    关联:把多个接口联系起来的技术,就是关联。本质上就是关联数据,例如可以把上一个接口返回的部分响应数据,当作下一个接口的入参数据,关联的作用:实际工作中,每个接口都是拼图一样的碎片,多个接口组合起来时,才能形成真正的功能,这个时候,我们必须按照这些接口的数据依赖关系和顺序,关联多......
  • PostMan环境变量、全局变量、动态参数使用
    一、环境准备postmanmoco[{"description":"登录认证","request":{"uri":"/login","method":"post","forms":{"user":"admin&q......
  • 接口测试工具PostMan安装教程
    为了验证接口能否被正常访问,我们常常需要使用测试工具,来对数据接口进行检测。好处:接口测试工具能让我们在不写任何代码的情况下,对接口进行调用和调试。下载并安装PostMan首先,下载并安装PostMan,请访问PostMan的官方下载网址:https://www.getpostman.com/downloads/下载所需......
  • sourcetree界面卡死,改用命令行提交
    在github上创建了空仓库https://github.com/wantnon/UE-Yang-426,并clone到了本地(C:/GitHub2/UE-Yang-426),然后把自己修改过的ue4.26源码拷贝到这个路径,用sourcetree提交,结果由于一次性添加文件太多,“暂存所有”这一步sourcetree界面卡死,所以只能考虑用命令行提交了,问gpt4:于是打......
  • python命令行传参
    #run.pyimportargparseparser=argparse.ArgumentParser()parser.add_argument('--device',type=str,default='cpu:0',help='usewhichdevice')parser.add_argument('--worker',type=int,default=1,help='numofwor......
  • postman_管理cookie
    在使用postman测试接口时,postman会在发送请求时自动携带默认浏览器中同域名的cookie.管理postman的cookie点击上图红框中的cookies按钮,就可以在打开的页面中看到域名以及所携带的cookie可以在headers中手动添加cookie,也可以在cookie管理中添加,但是在headers中手动......
  • mysql命令行执行sql文件
    方法一:mysql命令,直接在服务器上执行mysql–u用户名–p密码–D数据库<【sql脚本文件路径全名】例如:mysql-uroot-proot-Dtest</tmp/test.sql方法二:source命令,登录mysqlclient执行source【sql脚本文件路径全名】例如:source/tmp/test.sql......
  • cmd powershell 命令行窗口保存更多的历史记录输出行数,防止上面的输出被自动删除
    布局-屏幕缓冲区大小-高度调大或者是用https://stackoverflow.com/questions/71099275/can-view-the-history-of-powershell-outputs这个办法自动保存到一个txt文件中参考https://stackoverflow.com/questions/1740876/more-lines-in-command-window ......
  • Symchk.exe是微软提供的一个命令行工具,用于下载符号文件以帮助调试问题。符号文件包含
    Symchk.exe是微软提供的一个命令行工具,用于下载符号文件以帮助调试问题。符号文件包含用于将二进制文件映射回源代码的关键信息,可帮助开发人员在调试期间确定问题的根本原因。使用Symchk.exe,您可以指定要下载符号文件的二进制文件,该工具会查找相关的PDB文件并将其下载到本地计算......
  • pnputil 是一个命令行实用程序,它用于管理 Windows 系统中的设备驱动程序。它提供了一
    pnputil是一个命令行实用程序,它用于管理Windows系统中的设备驱动程序。它提供了一种简单的方式来安装、卸载、列出和导出设备驱动程序。使用pnputil可以完成以下任务:安装设备驱动程序:将设备驱动程序添加到驱动程序存储库并安装它们。这对于管理员或高级用户来说是很有用的,......