postman(九):postman接口测试脚本集成到jenkins
本篇的目的是实现使用jenkins远程执行postman接口测试脚本
准备工作:一台linux服务器(可以用虚拟机搭建一个),linux服务器上安装好node.js、newman,部署好jenkins
阶段一:远程执行接口测试脚本
1. 新建一个自由风格的软件项目
2. 在Build标签配置shell脚本(linux服务器选择执行shell;windows系统选择执行windows批处理命令)
(1) 在填写shell脚本前,需要把在postman中导出的json格式的脚本上传到服务器某个目录下,例如我上传到了服务器的 /hanmk/postman_script

(2) jenkins在远程执行服务器中的脚本时,也需要切换到测试脚本所在目录(或者直接以绝对路径指定脚本),然后调用newman命令来执行,如下

source /etc/profile
#!/bin/bash -ilex
cd /hanmk/postman_script
newman run Test.postman_collection.json -e base_url.postman_environment.json --reporters cli,json,html,junit --reporter-json-export report-json.json --reporter-html-export report-html.html --reporter-junit-export report-xml.xml
注意:需要加上前2行指令,不然在jenkins在远程执行时,会提示找不到newman命令导致构建失败,原因是jenkins执行过程中没有加载到环境变量
开始只加了第二条指令就能够执行成功了,后来重启后发现执行会失败,所以又在此基础上添加第一条指令
相关解析可以参考:
https://blog.csdn.net/zzusimon/article/details/57080337
https://www.cnblogs.com/silvi/p/7091321.html
https://blog.csdn.net/luliuliu1234/article/details/80932788
(3)配置完成后,构建一下,然后到这个构建任务的console out中查看构建日志,可以看出构建时成功的,打出了接口执行情况

阶段二:把newman生成的html格式的测试报告在jenkins中展示出来
需要先安装一个插件 Publish HTML reports
然后在构建后操作中添加该插件,并进行如下配置

HTML directory to archive 填写相对于工作空间的html报告所在的目录,需要填写真实存在的目录名称
Index page[s] 报告目录中提供链接的文件,需要填写一个已经存在的html文件
Report title 报告标题
(1) 要弄明白上述的HTML directory to archive和Index page[s] 该怎么填,需要先搞清楚jenkins的工作空间的概念。
jenkins每创建一个任务,都会为这个任务产生一个工作空间,jenkins工作空间在服务器中的路径为 /root/.jenkins/workspace
例如这个任务名称为:run_postman-2,则它的工作空间为 /root/.jenkins/workspace/run_postman-2

所以需要先在工作空间中创建一个名为 htmlreports 的目录,再在 HTML directory to archive 处填写相对工作空间的目录名称才有意义

(2)接下来是 Index page[s],在这里填写的html文件名称也必须是已经存在于报告目录中的文件,可以自己在htmlreports中创建一个html文件,或者直接把newman生成的html格式的报告放到这个目录下
注:之所以需要自己创建报告目录和报告文件,是因为这个插件不会自己创建这些,如果工作空间没有这些目录和文件,到时候构建时会报错的
这里我是直接把newman生成的html报告指定输出到工作空间的htmlreports目录中了,改下shell脚本就行
newman run Test.postman_collection.json -e base_url.postman_environment.json --reporters cli,json,html,junit --reporter-json-export report-json.json --reporter-html-export /root/.jenkins/workspace/run_postman-2/htmlreports/report-html.html --reporter-junit-export report-xml.xml
保证Index page[s]处填写的文件名称和生成的报告名称一致
完成上述配置后,进行一次构建动作,构建成功后,会在右侧出现一个html报告按钮,点击查看即可

同时,构建成功后,工作空间的htmlreports目录会出现一个report-html.html文件(如果没有在这个job的工作空间创建htmlreports目录,那么点开这里的Workspace显示就是空的了,什么都没有)


相关知识点可以参考:https://blog.csdn.net/xu19950210rou/article/details/74729296
postman(九):postman接口测试脚本集成到jenkins的更多相关文章
- postman—集成到jenkins
前言 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 将postman导出的脚本,持续集成到 ...
- Postman接口测试脚本编写规范
Postman接口测试脚本编写规范 1.前言 2.名词解释 3.接口测试脚本规范 3.1接口测试脚本编写的规范 3.2 Postman使用规范 4.单个接口测试 5.整个流程的开发过程 1.前言 本规 ...
- postman用法总结+newman持续集成
一.postman 1.GET 请求:点击Params,输入参数及value,可输入多个显示在URL链接上(GET请求的请求头与请求参数如在接口文档中无特别声明时可以不填) 2.POST请求:在bod ...
- SoapUI、Jmeter、Postman三种接口测试工具的比较分析
前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与诸位分享一下吧.各位如果要转载,请一定注明来源,最好在评论中告知博主一声,感谢.本报告从多个方面对接口测试的三款常用工具 ...
- Postman 快速入门之脚本
1.学习中心,官方文档 https://learning.getpostman.com/docs/postman/scripts/test_scripts/ 2.基于Postman的API自动化测试 ...
- SpringBoot | 第十五章:基于Postman的RESTful接口测试
前言 从上一章节开始,接下来的几个章节会讲解一些开发过程中配套工具的使用.俗话说的好,工欲善其事,必先利其器.对于开发人员而言,有个好用的工具,也是一件事半功倍的事,而且开发起来也很爽,效率也会提升很 ...
- SoapUI、Jmeter、Postman三种接口测试工具的比较分析——灰蓝
前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与诸位分享一下吧.各位如果要转载,请一定注明来源,最好在评论中告知博主一声,感谢.本报告从多个方面对接口测试的三款常用工具 ...
- Postman如何做接口测试,那些不得不知道的技巧
Postman如何做接口测试1:如何导入 swagger 接口文档 在使用 postman 做接口测试过程中,测试工程师会往界面中填入非常多的参数,包括 url 地址,请求方法,消息头和消息体等一系列 ...
- 通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢
通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢
随机推荐
- MFC DDX_Control 与 DDX_Text
DDX_TEXT()的作用可以理解为把字符串变量和控件的文本(WindowText)关联起来, DDX_Control()的作用可以理解为把变量和控件本身关联起来, DoDataExchange(pD ...
- .NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?(转)
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理? 后端开发 作者: Rector 1973 阅读 0 评论 0 收藏 收藏本文 ...
- Linq To Object 函数介绍
static void Main(string[] args) { #region Aggregate 把集合中的元素按照表达式依次执行 { IEnumerable<int> list = ...
- 【SW4STM32生成 hex文件的设置方法】
SW4STM32生成 hex文件的设置方法 开发环境:WIN7_64 + SW4STM32 联系方式:yexiaopeng1992@126.com 修改: 2018年1月21日 在这周,有一个热心的 ...
- decimal(19,6)什么意思
decimal(19,6)什么意思 数字长度19位,精确到小数点后6位例如0.123456 mysql中varchar(50)最多能存多少个汉字 首先要确定mysql版本4.0版本以下,varchar ...
- BindingResult 作用原理
controller代码 @RequestMapping("") public String index(@Valid User user , BindingResult bind ...
- Linux服务器 XAMPP后添加PHP和MYSQL环境变量
编辑/etc/profile文件 在文件末尾添加两行代码 vi /etc/profile CentOS: PATH=$PATH:/opt/lampp/bin export PATH Ubuntu: e ...
- 读取本地json文件,并转换为dictionary
// 读取本地JSON文件 - (NSDictionary *)readLocalFileWithName:(NSString *)name { // 获取文件路径 NSString *path = ...
- log4J日志框架
log4j的配置:log4j是一个日志输出框架,就是用于输出日志的,主流框架大部分都是Log4j输出.Spring框架也可以通过Log4j输出日志 Log4j提供了强大的日志输出的自定义功能(1)通过 ...
- 16: vue + crypto-js + python前后端加密解密
1.1 vue中使用crypto-js进行AES加密解密 参考博客:https://www.cnblogs.com/qixidi/p/10137935.html 1.初始化vue项目 vue i ...