【精通Postman接口测试】04-Postman的CLI命令+Jenkins和Newman+Allure+Jenkins自动化接口持续集成

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🎯 你正在阅读「接口测试从入门到跑路」系列文章 🎯

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

🔥 弹简特 个人主页

❄️ 个人专栏直通车:

靠热爱去书写自己,靠勇敢去书写生活!

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨


🌟 博主简介:


文章目录:


前言

学会 Postman 接口测试后,怎么让它自动跑?这篇带你用 Jenkins 实现持续集成。从 JDK 安装、Jenkins 部署,到 CLI 命令集成、Newman + Allure 生成精美报告,最终实现定时无人值守执行。全程截图,零基础也能跟着搭起来。

一、安装JDK以及配置JDK的环境变量

为什么需要去下载JDK?因为Jenkins他是一个Java项目,需要依赖的是JDK,所以你要去下载JDK才行的,而且Jenkins更新版本很快,你的JDK需要多少版本具体都得去看官网的要求。

此处我们介绍的是JDK21的安装,因为我们博客中介绍的是Jenkins版本是2.555.1,这个版本要求JDK21才行,老铁们下载的时候记得下载最新的就行~

1、JDK的下载和配置

1.1JDK下载

1、首先去官网下载我们的jdk,对于JDK的配置演示我们使用的是jdk21

JDK21的官网👉:https://www.oracle.com/cn/java/technologies/downloads/#java21

jdk的下载如果是.exe那么其实我们直接一路next即可,如果是压缩包,那么找一个非中文路径解压缩即可使用

1.2配置环境变量,步骤如下👇

配置环境变量:

我的电脑右键属性-->搜索环境变量--->高级-->环境变量-->系统变量:

1)、新建:

变量名:JAVA_HOME

变量值:你的jdk所在的具体路径

注意:变量值是JDK的具体路径,需要根据实际情况取值。

2)、新建:

变量名:

bash 复制代码
CLASSPATH

变量值:

bash 复制代码
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;

注意:变量值前后的.;等符号都不能少

3)、编辑:

在PATH最后面添加:%JAVA_HOME%\bin

注意:PATH路径中那些原有的值千万不能删除,我们在后面新建一个即可。



1.3 如何验证是否安装和配置成功?

1、首先win+r并输入cmd

2、在dos中输入javac和java -version验证。


二、下载Jenkins以及Jenkins的安装

具体的更多细节参考之前的博客👉https://blog.csdn.net/2301_81982617/article/details/160418664?spm=1011.2415.3001.10575&sharefrom=mp_manage_link

1.1 下载

官网地址: https://www.jenkins.io/download/

同时不想下载的老铁我已经将资源上传可以去直接下载:Jenkins的war包

Jenkins是一个web项目

下载之后我放在D盘

兼容性问题:由于Jenkins是一个javaweb项目,那么得需要jdk,建议jdk要17及以上。

1.2 启动服务并访问

启动

对一个java项目,我们如何去启动呢?它是一个war包,那么我只需要运行这个war包就行。

1)首先得看你的jdk有没有下载配置好

java项目的运行需要的是jdk,这一点很重要,没有java环境的老铁得去配置一下

2)运行war包,命令:

  • 如果没有配置JDK环境变量:"jdk的bin目录+java" -jar war包所在全路径+war包名称(带后缀)
  • 如果配置了JDK环境变量:直接用 java -jar war包所在全路径+war包名称(带后缀) 完全可以运行,不需要加任何额外的路径、classpath 等
a. 没有配置JDK环境变量

比如我自己的是放在D盘,所以启动命令java -jar D:\jenkins.war

3)那么我就将jdk21下载好了,放在如下目录D:\java\Javajdk\jdk-21

4)去bin目录找到java命令

5)然后执行"jdk21的bin目录+java" -jar war包全路径+war包名称

比如我自己的是:"D:\java\Javajdk\jdk-21\bin\java" -jar D:\jenkins.war

b. 配置了JDK环境变量

如果有配置JDK环境变量的话,那么就不用上面那么麻烦,直接使用java -jar war包所在全路径+war包名称(带后缀),如下👇

bash 复制代码
java -jar D:\jenkins.war

访问

如何访问呢?

浏览器输入访问地址:http://localhost:8080

初始化密码,你启动的时候他会给你显示。

用户名默认是admin

密码初始化的时候如下图:

1)输入URL访问:http://localhost:8080

2)会告诉你是否安装插件


1.3 初始化安装插件

首先第一次登录的时候可以选择推荐的

然后他就在下载

把上述的插件安装完毕之后,他会给你一个提示框,让你创建一个管理员用户👇

1.4 修改密码👤

如果你不想创建,你就直接点使用admin账户继续就行,如上图所示:


然后后面就直接点击继续


修改密码:如下所示

然后我们就输入自己的密码即可比如123456

修改密码之后重新登录:

用户名admin

密码123456


1.5 修改插件的下载位置(可选)

下载完插件之后,你会发现在你的c盘里面会多了一些目录,这些目录就是为我们放我们插件的创建的,那如果你c盘空间不够的话,我们是可以进行一个修改的。如何去修改呢?接下来就跟着我一步一步的去做就行。嗯,如果老铁们嫌麻烦的话,就可以不用管这个步骤。

1). 停止当前运行的 Jenkins

  • 关闭运行 java -jar jenkins.war 的命令行窗口(按 Ctrl + C 或直接关闭)。

2). 迁移原有数据(可选)

如果你已经使用过 Jenkins(创建了任务、安装了插件),需要把旧数据复制到新目录。

  • 旧目录:C:\Users\用户名\.jenkins
  • 新目录(例子):D:\jenkins_home

操作:

  • 在 D 盘创建文件夹 jenkins_home
  • C:\Users\用户名\.jenkins 下的所有内容 复制到 D:\jenkins_home(包括 config.xmlpluginsworkspace 等)

如果 Jenkins 是全新安装(刚跑通初始化),可以不用复制旧数据,直接让 Jenkins 在新目录重新初始化。

3). 启动时指定新的家目录

方法:修改系统环境变量(永久)
  • 右键"此电脑" → 属性 → 高级系统设置 → 环境变量
  • 在"系统变量"或"用户变量"中新建:
    • 变量名:JENKINS_HOME
    • 变量值:D:\jenkins_home
  • 确定后重启 cmd,直接运行 "D:\java\Javajdk\jdk-21\bin\java" -jar D:\jenkins.war 就会自动使用该目录。


    Jenkins 现在已经成功将家目录迁移到 D:\jenkins_home

三、Postman的CLI命令+Jenkins接口自动化持续集成

1、CLI是什么

CLI是什么,他是我们之前第2篇博客里面讲批量运行的命令:

通过这两个命令就能执行我们的项目。

2、CLI命令如何和Jenkins集成

2.1 第一步:把环境变量改成:集合变量

为什么我们需要把环境变量改成集合变量?

因为通过jenkins去执行CLI是没办法切换环境

回顾之前第二篇博客中的内容:环境变量

我们之前设计了一个环境变量,如下👇

而我们现在需要将它变成集合变量,如何做呢?如下步骤所示:

a、单击项目

b、选择variables

c、将刚才的环境变量中的测试环境拷贝过来变为集合变量,不然他去切换环境了,因为Jenkins做不到


2.2 第二步:通过Jenkins来执行CLI命令

1)首先登录Jenkins


2)新建一个项目

a、点击新建

b、起一个名字

3)为项目做一些配置

我们只需要做两个配置就行了👇

第一个配置:构建触发器

选择一个日程表,代表你什么时候去执行,一般我们用5个星号*****,这5个星号从右到左,依次是年月日时分。

java 复制代码
*  * *  *  *
分 时 日 月 年

操作如图:

第二个配置:增加构建步骤

a、点击【增加构建步骤】


b、选择批处理命令


c、把Postman中的CLI命令拷贝到里面,步骤如下:

(1) 右键项目-选择Run

(2)选择CLI

(3)创建密钥

(4)将这个命令拷贝出来如下:

bash 复制代码
postman login --with-api-key PMAK-69f9ad271c0fb100019d424e-5b2bab9cffbb68499be4306c47dc1e3b5e
postman collection run 48440182-9bf7d879-6933-48d9-ae38-30a51a9d15ac -e 48440182-41a433f1-2c08-4503-82b4-97bd2d6504de

(5)将命令拷贝到我们的Jenkins批处理执行命令中

(6)点击保存

保存之后的页面如下:

点击回到首页,也可以看到


此时如果想要继续修改,那么就如下

比如我们把定时器改为55吧


现在我们的时间是48分,我们做了如上的配置之后,只要你的Jenkins服务器没有关闭,那么每个小时的50分,Jenkins都会在后台自动的去为我们执行这些接口,我们什么都不用管,我们唯一要做的是去Postman里面去查看他的执行报告。


2.3 第三步:在Postman里面查看报告

1)点击项目
2)选择runs
3)等定时器到达我们设置的55分就会自动执行测试接口

等到55分我们点开此处查看报告:


2.4 在Jenkins中查看控制台

a、点击项目

b、找打控制台输出

c、查看对应的控制台


2.5 总结

经过上述的捣鼓,我们发现Postman的CLI命令+Jenkins接口自动化持续集成有一个很重要的特点:非常适合敏捷开发中的测试用例快速迭代

因为我们什么都不用管,我们只要去改我们的测试用例就行了,到点它就会自动执行,执行完之后,我们在Postman里面去查看结果。


四、Newman+Allure+Jenkins接口自动化持续集成

1、介绍

上述我们CLI+Jenkins的方式生成的报告是在Postman中查看的,相对来说报告的样式是比较丑的。

于是我们就可以使用Newman+Allure+Jenkins持续集成,生成比较美观的Allure报告,但是有一个缺点就是每一次都需要你去Postman里面导出一些文件,比如测试用例、全局变量、环境变量等

那么,我们的项目是使用什么来执行的呢?你把测试用例那些接口全部搞好了,谁去执行这些接口。

我们使用的是Newman来执行,那么接下来就介绍Newman👇

2、通过Newman执行测试用例

注意⚠️

我们在上面说过,使用该种方法,需要你去Postman里面去导出一些文件,而在我们导出这些文件之前,一定要先把这些文件给保存了,如图所示,当一个红点点就代表没有保存。

此时你必须得按ctrl+s,让他保存之后就不会出现这个点点,那就代表已经保存成功了

2.1 什么是Newman

Newman 是一个可以在命令行(终端)中使用的工具,它的主要作用是用来运行 Postman 中创建的"集合"(Collection)

具体拆解一下:

  1. Postman 是一个图形化工具,用来测试 API(接口)。你可以在 Postman 界面里创建一个"集合"(比如一组 HTTP 请求:GET、POST 等),并编写测试脚本。
  2. Newman 是 Postman 官方提供的命令行工具。它不依赖于图形界面,只需要在终端输入命令,就能自动执行你在 Postman 里创建好的那个集合。
  3. "执行 Postman 中命令" 指的是运行集合里的所有请求以及相关的测试脚本,并输出结果(比如哪些请求成功、哪些断言失败)。

为什么需要 Newman?

  • 方便集成到 CI/CD 流水线(比如 Jenkins、GitLab CI)中,实现 API 自动化测试。
  • 不需要打开 Postman 图形界面,可以在服务器、云端等无图形环境运行。

2.2 Newman的运行Postman中测试用例的命令

1)基本命令格式
bash 复制代码
newman run 集合文件.json [参数选项]

说明:newman run 后面必须跟一个 Postman 集合文件(我的集合.json),可以是本地文件路径,也可以是一个 URL。


2)常见参数选项
-e 指定环境变量文件(environment, 环境变量文件)
bash 复制代码
newman run 我的集合.json -e 我的环境.json

说明:-e 后面跟环境变量文件(如 我的环境.json


-g 指定全局变量文件(globals, 全局变量文件)
bash 复制代码
newman run 我的集合.json -g  全局变量.json

说明:-g 后面跟全局变量文件(如 全局变量.json


-d 指定数据文件(data, 数据文件)
bash 复制代码
newman run 我的集合.json -d  数据.csv

说明:-d 后面跟数据文件(如 数据.csv,也可以是 .json


-n 指定循环次数(iteration-count, 循环次数)
bash 复制代码
newman run 我的集合.json -n 5

说明:-n 后面跟循环次数(数字)


-r 生成HTML报告(reporters, 报告生成器)

生成简单的HTML报告参数固定写法:-r html --reporter-html-export

bash 复制代码
newman run 我的集合.json -r  html --reporter-html-export 报告.html

说明:

  • -r 后面跟报告生成器(html 表示生成 HTML 报告)
  • --reporter-html-export 后面跟 HTML 报告文件名 (如 报告.html

-r 生成Allure报告(reporters, 报告生成器)

生成美观的Allure报告参数固定写法:-r allure --reporter-allure-export

bash 复制代码
newman run 我的集合.json -r  allure --reporter-allure-export allure结果文件夹

说明:

  • -r 后面跟报告生成器(allure 表示生成 Allure 报告)
  • --reporter-allure-export 后面跟 文件夹名 (如 allure结果,Newman 会将报告文件生成到该文件夹内)

3)组合多个参数的例子
bash 复制代码
newman run 我的集合.json -g 我的全局变量.json -n 3 -r html --reporter-html-export 报告.html
  • 我的集合.json:要运行的 Postman 集合文件(要运行的项目中的所有接口)
  • -g 我的全局变量.json:指定全局变量文件(与 -e 的区别是全局变量在多个环境间共享,优先级低于环境变量)
  • -n 3:循环 3 次
  • -r html --reporter-html-export 报告.html:生成 HTML 报告,保存为文件 报告.html

bash 复制代码
newman run 我的集合.json -g 我的全局变量.json -n 3 -r allure --reporter-allure-export allure结果
  • 我的集合.json:要运行的 Postman 集合文件(要运行的项目中的所有接口)
  • -g 我的全局变量.json:指定全局变量文件
  • -n 3:循环 3 次
  • -r allure --reporter-allure-export allure结果:生成 Allure 报告,所有报告文件保存到 allure结果 文件夹

3、接口自动化持续集成步骤

3.1 第一步:把环境变量改成集合变量

不管你用哪个方式,第1步得先把环境变量变成集合变量,之前你设置过的环境变量,就是说要把它变成集合变量啦,如果你没设置过,那你就去加所需的集合变量即可。

为什么呢?我们要用Newman去执行Postman里面的接口的时候,由于执行之前你得把一些文件导出来,比如:集合变量,环境变量,全局变量等等。如果你把环境变量都变成集合变量的话,那这个环境变量你就不用导出来了,少导一个文件。

我们之前的博客中,唯一设置过一次环境变量,就是在处理开发环境和测试环境那里,同时呢,我们在上面的Postman的CLI命令+Jenkins接口自动化持续集成中已经将环境变量变为集合变量了。


3.2 第二步:从Postman中导出测试用例(项目中所有的接口)和全局变量等文件

首先我们肯定是要导出测试用例的,然后对于变量那些,如果你有全局变量你就导出来,如果你是环境变量,那你也导出环境变量,如果你做数据驱动,那你把数据驱动文件弄出来(这个自己写的不用导出来,具体可看本系列的第三篇博客)。

1)导出测试用例(本项目中所有的接口)

首先比如我在E盘新建了一个空文件夹如下👇

a、在Postman中点击项目右侧的【...

b、保存

2)导出全局变量(如果有)

怎么做?如图所示:

选择全局变量

有你就导出来

我们本次的变量全部都设置成了集合变量,供本项目共用,所以没有搞成全局变量,因此呢全局变量这里啥也没有,如果有的话你可以导出来。

3)导出环境变量(如果有,我们本次不介绍,但是流程都一样的)

3.3 第三步:安装Newman

注意:newman需要node.js来安装

所以我们得先下载node.js

  1. 安装 Node.js

    从官网https://nodejs.org/en/下载安装包,一直点"下一步"就行。装完 Node.js 后,npm 命令会自动可用。

  2. 验证 Node.js

    打开 DOS(命令提示符),输入 node 回车,如果进入 > 提示符就说明成功。按 Ctrl+C 两次退出。

    或者更简单用 node -v 查看版本号。

  3. 安装 Newman
    npm install -g newman-g 表示全局安装,这样在任何目录都能用)

  4. 验证 Newman
    newman -v 显示版本号,比如 6.2.2


3.4 第四步:安装Allure报告

Allure也是需要依赖JDK的,但是我们上面已经装过了,这里就不用管。

1)下载

下载地址如图

如果不想下载的老铁直接在我的资源里面免费获取👉Allure安装包


版本要求:2.24以上

2)解压


3)配置环境变量

验证是否成功:


3.5 第五步:通过newman执行测试用例并且生成报告

1)打开DOS窗口,进入我们导出的测试用例所在目录
2)输入Newman命令生成html报告

命令

bash 复制代码
newman run collection.json -r html --reporter-html-export index.html
出现问题
问题原因以及解决

错误原因是:Newman 从某个版本开始,不再默认内置 HTML 报告器 ,需要单独安装 newman-reporter-html 这个包。

在命令行执行以下命令(安装 HTML 报告器):

bash 复制代码
npm install -g newman-reporter-html

安装成功

重新运行
打开index.html报告



3)输入Newman命令生成美观的Allure报告
先安装Allure报告器

原因是:Newman 从某个版本开始,不再默认内置 Allure 报告器 ,需要单独安装 newman-reporter-allure 这个包。

在命令行执行以下命令(安装 Allure 报告器):

bash 复制代码
npm install -g newman-reporter-allure
执行生成包的命令
bash 复制代码
newman run collection.json -r allure --reporter-allure-export allure-results
结果
点开生成的目录看看


它生成的是一堆临时的json报告,这些JSON报告我们一般是通过Jenkins来查看的,所以接下来我们看第六步👇

3.6 第六步:通过Jenkins执行测试用例并且生成Allure和实现持续集成

1)打开我们的Jenkins新建一个项目


2)配置1:Allure插件配置

为什么需要做这一步?

步骤如下:

注意:由于Jenkins 我们的这个版本不断的在更新,所以到时候如果没有出现过如下所示的界面,那大家可以问AI。

a、 点击设置
b、点击全局工具配置
c、往下翻找到【Allure Commandline 安装】
d、点击【+新增Allure Commandline】然后起一个别名
e、然后他问你是否需要自动安装,那把那个√给去掉,我们不需要自动安装,因为我们的本地已经装好了。
f、在本地将我们的allure安装路径给复制上去,并保存

从这个过程我们也看到一个小规律,就是说你这些工具是需要下载到本地的,然后我们所谓的配置无非就是把本地的安装路径给配置上去而已,所以需不需要配置,就得看你这个工具是否需要下载。

3)配置2:配置工作空间

我们需要把我们导出collection.json项目所在的目录告诉Jenkins,

为什么需要做这一步?

步骤如下:

a、找到高级--选择使用自定义工作空间
b、告诉他你导出的项目目录
3)配置3:告诉Jenkins生成Allure报告的命令

为什么需要做这一步?如下图👇

那么,配置的步骤如下:

a、选择【增加构建步骤】-- 选择批量执行目录
b、粘贴你的命令
3)配置4:配置定时执行

为什么要做这个配置呢?你不是想让Jenkins为我们去执行项目吗?

那么你想让他什么时候实行,你得告诉他呀,如果你不告诉他,你就自己手动实行。

所以选择构建日程,告诉他什么时候执行

3)配置5:配置构建之后的操作

这步的作用是告诉他,我要的是Allure文档👇

a、找到构建后操作
b、选择Allure报告

最后点击保存

保存之后跳到这个页面:👇

回到首页就可以看到我们刚刚构建的项目了

4、查看报告

我们刚刚设计了定时器,那等到具体的时间之后,就会自动执行我们的接口,我们只需要去查看报告就行。

报告在哪里看呢?如下所示:

4.1 在Jenkins中点击项目

4.2 点击Allure Report

4.3 得到的Allure Report如下

此时你就看到我们如下的报告了👇


五、写在最后

🎯 看到这里,辛苦啦!歇一歇,喝口水,让眼睛放松一下
这篇笔记我写了很久,如果对你有哪怕一点点帮助,请点一下「关注」
后面我还会继续分享很多自学干货笔记,都是自己边学边总结的,依然会是零基础能看懂、每一步都截图的那种详细笔记
我是学生,没什么能送你的,只能保证每一篇都认真写、不藏私。
我能给的,就是一篇一篇亲手整理的、零基础也能看懂的干货笔记。
你的每一次关注,都是我继续写下去的动力。
谢谢你的时间,我们下一篇笔记见 👇
(如果这篇笔记有写错的地方,也请一定在评论区告诉我,我会第一时间修改)

下一篇见咯,兄弟们~~


相关推荐
弹简特3 小时前
安装Jenkins保姆级教程
jenkins
weixin_4196583114 小时前
Postman-MCP-Server 的构建以及在 Trae 中的配置方法
测试工具·postman
薛定谔的猫36917 小时前
深入浅出:大语言模型 Agent 的工作原理与应用
人工智能·自动化·大模型·llm·ai agent
牛奶咖啡1318 小时前
CI/CD——使用Jenkins实现自动化部署与持续集成之jenkins插件与凭据配置
ci/cd·jenkins·jenkins必备插件安装·jenkins全局工具配置·jenkins的凭据配置·jenkins自动化部署流程·jenkinsgitlab集成
摇滚侠18 小时前
DSL 学习 ElasticSearch 主要就是学习 DSL 查询语言
学习·elasticsearch·jenkins
MATLAB代码顾问20 小时前
AI Agent智能体开发实战:LangChain自动化工作流
人工智能·langchain·自动化
zhangfeng113321 小时前
适合 5人以内小团队的Git 工作流 + Code Review + 自动化部署方案 FastAdmin +linunx服务器宝塔系统 外包项目 —
服务器·git·自动化·php·代码复审
zhangrelay1 天前
云课实践速通系列-基础篇汇总-必修-通识基础和专业基础-2026--工科--自动化、电气、机器人、测控等
linux·笔记·单片机·学习·ubuntu·机器人·自动化
缝艺智研社1 天前
誉财 YC - 10 + 双头全自动烫标机:服装商标烫印的高效智能之选
人工智能·自动化·新人首发·缝纫机·智能缝纫机