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

 一、背景

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

二、Newman的安装

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

1、Node.js

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

shell

node -v

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

2、Newman

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

shell

npm install -g newman

检查newman是否安装完成

shell

newman -v

显示版本号即安装成功

三、脚本准备

doc

新建项目目录
├─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,输入命令

shell

newman run S9.postman_collection.json

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

shell

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

2、变量的使用

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

shell

newman run S9.postman_collection.json -e ../env/PRE_ENV.postman_environment.json -g ../global/workspace.postman_globals.json
3、参数化文件

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

shell

newman run S9.postman_collection.json -d ../testdata/param.csv
4、指定folder

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

shell

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

五、生成报告

1、生成简洁版html报告

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

shell

npm install -g newman-reporter-html

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

shell

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测试报告

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

shell

npm install -g newman-reporter-htmlextra

执行命令生成报告

shell

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

 

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/6598.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

国内手机号Google账号(gmail)注册教程

注意!!本篇只适用于未注册过或未修改过的萌新用户!!!!(我注册第二个账号时就通过不了了) 国内手机号码如何创建Google(谷歌)账号,我们会发现&…

性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台

前言 在当前激烈的市场竞争中,创新和效率成为企业发展的核心要素之一。在这种背景下,如何保证产品和服务的稳定性、可靠性以及高效性就显得尤为重要。 而在软件开发过程中,性能测试是一项不可或缺的环节,它可以有效的评估一个系…

大语言模型训练的全过程:预训练、微调、RLHF

一、 大语言模型的训练过程 预训练阶段:PT(Pre training)。使用公开数据经过预训练得到预训练模型,预训练模型具备语言的初步理解;训练周期比较长;微调阶段1:SFT(指令微调/有监督微调…

【LeetCode】【算法】142. 环形链表II

142环形链表II 题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环&#x…

白话文讲解大模型| Attention is all you need

本文档旨在详细阐述当前主流的大模型技术架构如Transformer架构。我们将从技术概述、架构介绍到具体模型实现等多个角度进行讲解。通过本文档,我们期望为读者提供一个全面的理解,帮助大家掌握大模型的工作原理,增强与客户沟通的技术基础。本文…

解析IO零拷贝技术

背景介绍 从字面上我们很容易理解出,零拷贝包含两个意思: 拷贝:就是指数据从一个存储区域转移到另一个存储区域。零:它表示拷贝数据的次数为 0。 合起来理解,零拷贝就是不需要将数据从一个存储区域复制到另一个存储…

练习LabVIEW第三十六题

学习目标: 刚学了LabVIEW,在网上找了些题,练习一下LabVIEW,有不对不好不足的地方欢迎指正! 第三十六题: 使用labview模拟温度采集系统,要求有停止键 开始编写: 前面板放一个温度…

day-81 打家劫舍 II

思路 与LCR 089. 打家劫舍相比,本题所有房屋围成了一圈,那么第一间房子和最后一间房子不能同时打劫,那么就可以分为两种情况:1.选第一间房打劫;2.选最后一间房打劫 解题过程 然后依次计算出以上两种情况的最大金额&am…

linux网络编程自定义协议和多进程多线程并发-TCP编程

1.三次握手及后面过程 计算机A是客户端, B是服务端 1.1三次握手: 1客户端给服务端SYN报文 2服务端返回SYNACK报文 3客户端返回ACK报文 客户端发完ACK后加入到服务端的维护队列中,accept()调用后就能和客户端建立连接,然后建立通讯 1.2关闭…

【工具】批量网址打开器,一次打开多个网址链接

假如你有很多个网址,这些网址要全部打开,你是否会每次复制一个粘贴到浏览器地址栏,再去复制下一个粘贴到地址栏,这样重复的操作?我就有这样的困扰,比如要检查网页上是否有bug,就要一个一个的点开…

「Mac畅玩鸿蒙与硬件24」UI互动应用篇1 - 灯光控制小项目

本篇将带领你实现一个互动性十足的灯光控制小项目,用户可以通过点击按钮来控制灯光的开关。该项目将涉及状态管理、动态图片加载以及按钮交互,是学习鸿蒙应用开发的重要基础。 关键词 UI互动应用状态管理动态图片加载用户交互 一、功能说明 在这个灯光…

如何从0到1开发一款智能生产小工单系统——全网最详细教程!

在生产车间,工单管理一度是个让人头疼的问题。任务分配不清、生产流程混乱、交接环节不顺畅等问题,让管理人员和一线工人疲于奔命。而一个智能的生产小工单系统正是解决这些问题的利器。不仅能有效地理顺工单流转流程,还能大幅提升工作效率和…

SpringBoot基础系列学习(五):JdbcTemplate 访问数据库

文章目录 一丶介绍二丶引入依赖三丶配置配置文件四丶创建表五丶java代码 一丶介绍 Spring Boot作为Spring的集大成者,自然会将JdbcTemplate集成进去。Spring Boot针对JDBC的使用提供了对应的Starter包:spring-boot-starter-jdbc,它其实就是在…

win11电脑无法找到声音输出设备怎么办?查看解决方法

电脑无法找到声音输出设备是一个常见的问题,尤其是在使用Windows操作系统时。幸运的是,大部分问题都可以通过以下几种方法来解决。 一、检查物理连接 在深入诊断之前,首先要检查硬件连接是否正常。这包括: 确保耳机、扬声器或其…

二叉树相关习题

题目:100. 相同的树 - 力扣(LeetCode) 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: …

数据结构和算法(六):贪心算法、分治算法、回溯算法、动态规划、拓扑排序

从广义上来讲:数据结构就是一组数据的存储结构 , 算法就是操作数据的方法 数据结构是为算法服务的,算法是要作用在特定的数据结构上的。 10个最常用的数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树 10个最…

PPT素材、模板免费下载!

做PPT一定要收藏好这6个网站,PPT模板、素材、图表、背景等超多素材全部免费下载。 1、菜鸟图库 ppt模板免费下载|ppt背景图片 - 菜鸟图库 菜鸟图库网有非常丰富的免费素材,像设计类、办公类、自媒体类等素材都很丰富。PPT模板种类很多,全部都…

Prompt Engineering介绍

什么是Prompt Engineering? 近年来,大语言模型(LLM)发展迅速,成为自然语言处理领域的重要技术。除了OpenAI的GPT系列、Google的PaLM(Pathways Language Model)和Bard,国内也涌现出多…

Golang | Leetcode Golang题解之第540题有序数组中的单一元素

题目&#xff1a; 题解&#xff1a; func singleNonDuplicate(nums []int) int {low, high : 0, len(nums)-1for low < high {mid : low (high-low)/2mid - mid & 1if nums[mid] nums[mid1] {low mid 2} else {high mid}}return nums[low] }

【Springboot问题】创建springboot项目后没有Resources文件夹及application文件

问题描述&#xff1a; 在创建springboot项目之后&#xff0c;由于项目识别的问题&#xff0c;没有出现资源文件夹以及application文件。 解决方法&#xff1a; 但是此刻依旧没有application.yml文件&#xff0c;创建