前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Postman+Newman+Git+Jenkins实现接口自动化测试持续集成

Postman+Newman+Git+Jenkins实现接口自动化测试持续集成

作者头像
小博测试成长之路
发布于 2021-03-08 03:17:19
发布于 2021-03-08 03:17:19
2.5K00
代码可运行
举报
文章被收录于专栏:软件测试学习软件测试学习
运行总次数:0
代码可运行

接口测试脚本一般的执行流程

做接口测试的话,首先要考虑的是如何选择一个合适的工具?在忽略工具是否好用,是否能满足业务要求的前提下,需要考虑以下2点:

1、要考虑工具的学习成本

2、要考虑团队的协作

 接口测试脚本的执行流程:

团队成员协作编写接口用例->用例归档到git/svn->脚本集成jenkins,在环境更新后自动触发执行或定时执行。

Postman工具常见的接口测试流程是怎样的?

使用Postman+Newman+Git+Jenkins+钉钉/邮件提醒

Windows系统Newman安装

1、下载Node.js进行安装,然后配置node的环境变量

2、借助npm工具,安装Newman

npm install -g newman

3、运行Newman

通过Newman来运行某个postman脚本:

newman run mycollection.json

用newman执行postman脚本的效果如下:

Centos系统Newman安装

1、先下载安装nodejs (必须安装10.0以上的版本)

从http://nodejs.cn/download/下载linux系统压缩包 ,,解压,配置环境变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar xvJf ***.tar.xz
echo "export PATH=\"\$PATH:/root/tools/node-v14.8.0-linux-x64/bin\"" \ >> ~/.bash_profile &&
source ~/.bash_profile

2、安装Newman

npm install -g newman

以上通过命令安装如果问题的话 ,可以百度解决。

命令行执行Postman脚本生成测试报告

1、命令行执行脚本的最基本的命令

newman run xxx.json

2、生成html格式的报告

先安装插件:npm install -g newman-reporter-html

newman run demo.postman_collection.json -r html

3、优化报告显示格式,生成美观一点的html格式报告

先安装插件:npm install -g newman-reporter-htmlextra

newman run demo.postman_collection.json -r htmlextra

注意事项:

1、-r参数是--reporters的缩写,可以在参数后面指定需要生成的报告格式 ,比如 -r html,junit,json,htmlextra ,这个会在当前目录下生成一个newman的文件夹,报告都在newman的文件夹下面:

2、也可以加上下面的参数指定报告名称:(报告默认生成在当前执行命令的路径下 ,也可以自己在报告名称前加上指定路径生成)

--reporter-html-export htmlReport.html

--reporter-htmlextra-export htmlExtraReport.html

--reporter-junit-export junitReport.html

--reporter-json-export jsonReport.html

3、在使用npm命令安装newman以及其他的包时,建议都加上-g 参数 ,给所有用户都安装对应的包,避免在使用命令时报错。

使用npm安装如果比较慢,可以先执行下面的命令,切换下载源的地址:

npm config set registry https://registry.npm.taobao.org

4、通过newman-reporter-htmlextra插件生成的html报告,默认是不包含css样式文件的,如果是发给别人访问 ,在断网的情况下查看报告,样式是加载不了的。目前查了一下,好像没有类似allure里面的那种参数,可以把报告所需的样式和报告一起导出,不过这个插件支持自定义报告模板,可以自己手动将css样式文件导出到某个位置,然后修改报告模板汇总引用的文件去解决这个问题。

Postman脚本持续集成

通过上面的描述 ,现在已经可以将postman脚本生成报告了,离集成jenkins只差最后的配置工作了:

1、在gitee上新建一个仓库,将postman调试好的脚本导出成json文件,上传到gitee上 (上传到gitee仓库的话,可以方便团队不同成员之间可以更改和查看用例),后续有脚本变更的时候也可以直接更新到git上进行存储,git上也可以按版本按分支存放你的测试脚本

2、搭建好jenkins环境,并配置好npm的环境以及安装好newman执行环境

3、新建一个自由风格的job,配置从git上获取脚本:

勾选构建环境下的清除工作空间目录的配置,将之前的报告清除(如果执行命令生成报告时自己指定了报告名称的话 ,也可以不清除工作空间的文件)

添加执行batch命令 / shell命令,命令内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# batch命令
cd /d  %WORKSPACE%
newman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html 
或者
# shell 命令
cd $WORKSPACE
newman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html newman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html

然后再构建后操作那里 ,添加报告的展示:

需安装HTML Publisher plugin插件

构建后 ,即可在jenkins上看到HTML报告:

发送钉钉通知

由于现在很多企业办公通讯都是用钉钉 ,那么接口自动化的脚本执行完之后,是可以讲结果发送到指定的钉钉群里面的。

准备工作:钉钉帐号,在钉钉上创建指定机器人 ,jenkins上安装DingTalk插件。

钉钉PC端机器人创建操作:

钉钉左上角用户头像处->机器人管理->创建自定义机器人

设置机器人名称、指定消息通知的群、安全设置下可以设置自定义关键字,然后点击完成,然后页面会生成一个webhook的地址

安装Jenkins上的DingTalk插件,进入系统配置页面,找到钉钉的配置:

然后进入postman脚本执行的job配置页面,勾选需要通知的机器人名称即可。

构建开始和结束后就会收到钉钉通知:

解决jenkins上无法展示HTML样式的问题

由于安全考虑,jenkins默认是禁止了外部的css和js的加载的,因此html报告显示会出现异常,常见的解决方案有以下几种:

1、在jenkins系统管理->脚本命令行 输入以下脚本运行:(此方案重启jenkins失效)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

2、利用jenkins的插件,在启动节点的时候自动触发某个job去执行groovy脚本。搜索安装Startup Trigger和Groovy插件即可。

配置一个job,然后在job中执行groovy脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

3、以windows服务或者java -jar的方式启动的jenkins,可以修改jenkin.xml文件中的启动命令,加入参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-Dhudson.model.DirectoryBrowserSupport.CSP=

4、用tomcat部署的jenkins,可以直接改catalina.bat文件,找到tomcat/bin下的catalina.bat文件,用Notepad++打开,加上一行代码

set JAVA_OPTS="-Dhudson.model.DirectoryBrowserSupport.CSP"

扩展学习

1、newman的其他用法(比如执行命令的时候加载环境变配置、设置执行次数等):

https://www.npmjs.com/package/newman

2、newman-reporter-htmlextra插件的其他用法(比如报告过滤数据,设置标题等):

https://www.npmjs.com/package/newman-reporter-htmlextra

3、钉钉通知在jenkins上的配置,还可以指定具体通知的人等高级用法,可以自己查资料扩展一下.觉得钉钉插件提醒不好用的话,也可以自己写脚本调用钉钉的接口发送消息提醒。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小博测试成长之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
jenkins显示html样式问题的几种解决方案
前言 jenkins上使用HTML Publisher plugin插件生成的html报告样式会丢失,需要设置下才能正常显示。 一、样式丢失 1.官方文档的解释如下,参考地址https://stackoverflow.com/questions/35783964/jenkins-html-publisher-plugin-no-css-is-displayed-when-report-is-viewed-in-j 从安全性考虑,禁止了css和js的加载,所以无法展示。 This rule set resul
上海-悠悠
2018/04/08
2.8K0
jenkins显示html样式问题的几种解决方案
Jenkins 集成postman 自动化运行接口测试用例
做过接口测试的人,应该都知道postman ,我们在日常的时候都可以利用postman做接口测试,我们可以把接口的case保存下来在collection里面,那么可能会有这样的需求,我们怎么把collection的用例放到jenkins中定时执行呢,今天我们就来看下如何实现的。
雷子
2021/03/15
9700
Jenkins 集成postman 自动化运行接口测试用例
postman自动化+newman+jenkins
一、 postman自动化介绍 postman自动化集成jenkins项目,postman做单接口测试非常方便, 所以就尝试着去做了一次postman+nweman+jenkins的持续集成项目。 二、 项目软件 postman+node+newman+jenkins 三、 安装 1. 安装postman客户端 2. 安装node.js 3. 安装newman: npm -g install newman 四、 使用说明 1. 创建postman collection 2. 加入test断言
懿曲折扇情
2022/10/31
3270
postman自动化+newman+jenkins
Postman高级用法-接口自动化
用newman最主要的原因是postman无法自动多次运行某个collection
沈宥
2022/05/09
5700
Postman高级用法-接口自动化
接口自动化测试Postman+Newman+Jenkins
Postman可以做接口测试,简单易用很容易上手。但是由于项目的接口越来越多,每次执行都要手动点击,使得执行起来不是很灵活。
wangmcn
2022/07/25
1.8K0
接口自动化测试Postman+Newman+Jenkins
Postman使用教程详解「建议收藏」
Postman下载网址: https://www.postman.com/downloads/
全栈程序员站长
2022/09/04
3.2K0
Postman使用教程详解「建议收藏」
使用postman 自动化测试接口
软件测试是软件开发的重要组成部分,是贯穿整个软件生命周期,对软件产品进行验证和确认的活动过程,其目的是尽早发现软件产品中存在的各种问题,如与用户需求、预先定义不一致等问题。
狂奔滴小马
2021/11/15
1.1K0
使用postman 自动化测试接口
Jenkin踩过的坑~上
以前的版本,安装成windwos服务的话,所有的文件都会在安装目录下 ,最近下了个2.253版本在电脑上进行安装的时候,发现安装后,在安装目录下只有少量的几个文件和一个war包,其他的插件目录和其他的一些文件夹的目录,都会写入到以下目录下去了:
小博测试成长之路
2021/03/06
8560
自动化部署Jenkins
Manage Jenkins->Plugin Manager->Advanced->Update Site
shaoshaossm
2022/12/27
7220
自动化部署Jenkins
接口02_精通Postman接口测试
一、接口关联,接口依赖 下一个接口的参数是使用的上一个接口的返回值? 接口测试,接口自动化。 1.JSON提取器。(都是从返回值里面提取) 1 //javascript脚本,var定义变量 2 //打印responseBody返回值 3 console.log(responseBody) 4 //使用json提取器把responseBody返回值转化成一个字典。 5 var jd = JSON.parse(responseBody) 6 //提取access_token,并且设置为全局变量(就是在任何接口
测试小能手
2022/11/07
1K0
postman接口测试
postman提供功能强大的 Web API 和 HTTP 请求的调试,它能够发送任何类型的HTTP 请求 (GET, POST, PUT, DELETE...),并且能附带任何数量的参数和 Headers.不仅如此,它还提供测试数据和环境配置数据的导入导出,付费的Post Cloud用户还能够创建自己的Team Library用来团队协作式的测试,并能够将自己的测试收藏夹和用例数据分享给团队.
测试加
2022/03/24
1K0
postman接口测试
postman系列(七):测试脚本集成到jenkins
准备工作:一台linux服务器(可以用虚拟机搭建一个),linux服务器上安装好node.js、newman,部署好jenkins
冰霜
2022/03/15
7360
postman系列(七):测试脚本集成到jenkins
postman+newman框架之生成接口测试报告
做测试的同仁,对于接口测试的都应该了解,接口测试不简单的是在开发时期,开发已写完完备的接口文档进行测试就完事的。 而是需要在项目的持续迭代的过程中持续测试的;那么我们是一个一个接口参考文档去输出用例,手动执行,整理结果吗? 当然是NO。那样的你应该也不是一个"快乐的鼠标工程师" 鼠标工程师的内心,每次点点点、每次上线;都耗费巨大的时间成本以及心态更方面的准备,去保证测试完成的质量,这就是为什么这么多人喜欢学习自动化测试的根本原因 所以手动去一个一个去执行接口,人力时间成本太高,接口的自动化测试环节就是比不可少了。 那么,由此即可以引出接口自动化测试的实现方式。实现方式会有多种多样,比如说已经比较成熟的第三方“商业版”测试工具SoupUI、postman 第一次接触是以chrome插件版形式去认识的postman,现在已经独立为单独的app、但是今天我要重点说的是postman的插件–newman。 前置条件: 前提是已经安装好node程序 node检验方式:打开cmd-->输入node 进入命令行即可
测试小兵
2019/09/08
3K0
一小时学会接口测试
iTesting,爱测试,爱分享
iTesting
2020/03/31
7340
Web API 持续集成:PostMan+Newman+Jenkins(图文讲解)
上篇文章我们已经完成了API测试工具选型,接下来是一系列周期性的开发测试过程:接口开发、检出代码、运行测试、记录结果、发送报告。为了快速发现问题,并减少重复过程以节省时间、费用和工作量,我们需要一套完整的持续集成解决方案,除接口开发之外其他环节全部自动完成,无需太多的人工干预。
葡萄城控件
2018/12/05
5.8K0
Web API 持续集成:PostMan+Newman+Jenkins(图文讲解)
从0搭建属于自己的Jenkins持续集成平台
Jenkins在日常工作中占据了一个非常重要的角色,帮助我们节省了大量用于构建的时间。有些公司有运维大哥对Jenkins进行维护,如果没有那只能自己动手了。俗话说的好自己动手丰衣足食,所以本文就从0开始搭建属于自己的Jenkins持续平台。主要包含,普通项目构建、流水线构建、多分支流水线构建并将构建结果辅以钉钉通知。
不一样的科技宅
2020/07/08
1.1K1
jenkins接入钉钉api接口自动化测试报告自动发送
一些同学的公司在做接口自动化测试时,难免会要求进行持续集成以及需要将可视化报告发送到诸如钉钉工作群等地方,于是便编写下列相关教程。
霍格沃兹测试开发Muller老师
2024/06/06
1560
Linux安装newman生成postman脚本报告
1、安装node # 1、下载node wget https://nodejs.org/dist/v16.9.1/node-v16.9.1-linux-x64.tar.xz # 2、解压 tar -xvf node-v16.9.1-linux-x64.tar.xz # 3.重命名 mv node-v16.9.1-linux-x64 node 2、配置环境变量 # 1、编辑环境变量文件 vim /etc/profile # 2、添加node环境 export NODE_HOME=/usr/local
cywhat
2022/11/22
9650
使用Postman工具做接口测试(四)——参数化、执行用例与生成测试报告(完结篇)
  在之前介绍《使用Postman工具做接口测试(二)——环境变量与请求参数格式》文中讲过环境变量的设置,其实就是参数化,现在,我介绍参数化其他几种形式。
全栈测试开发日记
2023/02/02
3K0
使用Postman工具做接口测试(四)——参数化、执行用例与生成测试报告(完结篇)
接口自动化测试平台-HttpRunnerManager-使用Jenkins进行持续集成
由于目前HttpRunnerManager暂时还没有以插件的方式与Jenkins集成,本节讲解是以获取HttpRunnerManager的执行测试套件接口方式来与Jenkins进行集成。讲解的HttpRunnerManager与Jenkins不在同一环境,但都是在Windows环境下。
wangmcn
2022/07/25
9920
接口自动化测试平台-HttpRunnerManager-使用Jenkins进行持续集成
相关推荐
jenkins显示html样式问题的几种解决方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验