Newman+Jenkins实现接口自动化测试(超详细总结)

devtools/2024/12/4 16:08:43/

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快  

一、是什么Newman

Newman就是纽曼手机这个经典牌子,哈哈,开玩笑啦。。。别当真,简单地说Newman就是命令行版的Postman,查看官网地址。

Newman可以使用Postman导出的collection文件直接在命令行运行,把Postman界面化运行的操作用命令行代替,如果不会Postman接口自动化测试,可以参考网上。

因为是命令行操作,因此可以配合jenkins做接口自动化测试

二、如何安装

npm install -g newman

mac也可以用brew安装

brew install newman

三、如何使用

1.运行本地文件

newman run examples/sample-collection.json

运行画风是这样的

2.运行在线文件

collection文件也可以是一个在线地址

newman run https://www.getpostman.com/collections/631643-f695cab7-6878-eb55-7943-ad88e1ccfd65-JsLv

运行的画风如下

3.以node.js库运行

const newman = require('newman'); // require newman in your project// call newman.run to pass `options` object and wait for callback
newman.run({collection: require('./sample-collection.json'),reporters: 'cli'
}, function (err) {if (err) { throw err; }console.log('collection run complete!');
});

4.导出报告

可以使用-r或者--reporters指定输出的类型,支持的类型有cli, json, html, junit, progress和emojitrain

默认指定cli,如果想指定多个,可以用以下的方式

newman run examples/sample-collection.json -r cli,json,html

将输出结果到命令行,并导出一份json和html报告,如下

html打开是这样的

json是这样的

四、命令行测试真实接口

接下来,对我们的32个接口进行测试

1.导出collection文件

我本地导出的colection文件名为课货.postman_collection.json

2.导出环境变量文件

因为依赖我的接口依赖环境变量{{kehuo}},还需要导出环境变量,我本地生成文件名为local.postman_environment

3.执行测试

newman run -e ./local.postman_environment.json -r cli,html ./课货.postman_collection.json

说明:-e指定了环境变量文件,-r指定输出格式,这里我指定了命令行直接输出,和生成html,最后跟的就是我们collection文件啦

执行结果如下

html文件打开如下

五、Newman+Jenkins实现自动化测试

1.jenkins机器安装newman

npm install -g newman

2.将postman文件上传到git仓库

如下,我添加了一个autotesting文件夹,分别放了接口文件postman_collection.json和环境变量文件postman_environment.json

3.jenkins新建项目

这一步选择吴亦凡的freestyle,你看这个面又长又宽,就像这个碗又大又圆~

4.jenkins项目指定git地址和分支

5.jenkins项目newman脚本

6.执行构建

7.查看结果

可以看到,我们的脚本已经启动了,再往后看,有3个接口测试失败了,还给出了原因

六、总结

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

​这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。


http://www.ppmy.cn/devtools/139382.html

相关文章

基于Matlab卡尔曼滤波的GPS/INS集成导航系统研究与实现

随着智能交通和无人驾驶技术的迅猛发展,精确可靠的导航系统已成为提升车辆定位精度与安全性的重要技术。全球定位系统(GPS)和惯性导航系统(INS)在导航应用中各具优势:GPS提供全球定位信息,而INS…

【Axure教程】输入框控制多选下拉列表

多选下拉列表是一种常见的用户界面组件,通常用于需要让用户从一组选项中选择多个项的场景。它结合了下拉菜单的简洁性和多选功能的灵活性。 今天我们就来学习,怎么在Axure中制作多选下拉列表,并且通过输入框来动态控制多选列表里的选项。 一…

如何在虚拟机中安装python 和 jupyter,并且启动运行Delta Lake,以及解决一下启动过程中出现的错误(保姆级教程)

文章目录 如何启动Delta Lake环境准备配置环境变量启动Delta Lake 本文演示如何在虚拟机上启动Delta Lake、以及启动期间出现的错误,觉得写的不错的可以三连支持一下哦! 如何启动Delta Lake 环境准备 在虚拟机中:安装 Spark 和 jupyterlab…

三维地形图计算软件(四)-用PYQT5+vtk画任意多面体示例

现已完成三维地形图三角网的三维显示和用多线程计算平基土石方功能,正在准备进入将用于计算出的全部三棱柱(锥)实体也能以三维方式显示出来,并可以选中三维实体和查看他们的属性,现将如何在已知几个点的情况下画出任意…

【再谈设计模式】桥接模式 ~ 抽象与实现的灵活桥梁

一、引言 在软件开发过程中,软件设计中,面对复杂性和变化性时,设计模式提供了一种优雅的解决方案。桥接模式(Bridge Pattern)是一种结构型设计模式,它通过将抽象与实现分离来实现灵活的扩展。本文将深入探讨…

GitLab使用中遇到的一些问题-记录

错误内容一 Warning: Permanently added gitlab.com (ED25519) to the list of known hosts. gitgitlab.com: Permission denied (publickey). Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. …

【云原生系列】如何判断哪家云服务器提供商更适合我

选择合适的云服务器提供商是每个企业在进行云迁移时都会遇到的关键决策。随着云计算的广泛普及,各大云服务商都提供了丰富的服务和解决方案。但问题来了,怎么判断哪家云服务器提供商更适合自己的需求呢?这个问题没有统一答案,因为…

蓝桥杯准备训练(lesson1,c++方向)

前言 报名参加了蓝桥杯(c)方向的宝子们,今天我将与大家一起努力参赛,后序会与大家分享我的学习情况,我将从最基础的内容开始学习,带大家打好基础,在每节课后都会有练习题,刚开始的练…