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发送邮件通知,这个如何弄呢
随机推荐
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.shen.mapper.UserMapper.findById
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.shen.mapper.Use ...
- docker实战---初级<1>
第1章 docker容器 1.1 什么是容器 容器就是在隔离的环境运行的一个进程,如果进程停止,容器就会销毁.隔离的环境拥有自己的文件系统,ip地址,主机名等 1.2 容器与虚拟化的区别 linux容 ...
- 用Springboot实现文件下载功能
ApiOperation(value = "下载文件", httpMethod = "GET", notes = "downloadFile" ...
- Spring Boot 指定某个依赖的版本
Spring Boot 是个很好的框架,他为了他的一些功能生效,定义了一些依赖的版本. 比如说:Spring Boot 1.5.x 中elasticSearch是2.4.x的,这个是他本身就定义好的. ...
- Linux SPI初始化及接口函数代码细究
2012-01-08 22:11:38 目的:我需要掌握spi驱动相关数据结构关系,及在哪部分函数中把这些数值进行底层寄存器赋值的.结合应用层函数完成spi驱动的代码测试.已达到灵活修改的目的. 按顺 ...
- [算法] 举一反三之n重复数组中找唯一m重复异类数
n重复数组,是指数组中的数字都出现n次: 唯一m重复异类数,是指存在唯一一个没出现n次,只出现了m次的数: 这里我简记它为nX+my问题,求解y,其中m < n,数组中都是整数: 3X+y问题 ...
- MySQL ERROR 1698 (28000): Access denied for user 'root'@'localhost'
今天在安装MySQL的过程中竟然没有让我输入密码,登录的时候也不需要密码就能进入,这让我很困惑. 进了数据库就设置密码,用了各种方式都不行. 虽然我这数据库没啥东西但也不能没有密码就裸奔啊,有点丢人是 ...
- jmeter的新增函数说明
本文算是对<零成本实现Web性能测试:基于Apache JMeter>中的<详解JMeter函数和变量>进行狗尾续貂哈,因为最近版本的jmeter增加了几个新函数,在原书中没有 ...
- 创建局域网yum服务器
首先需要安装createrepo这个软件包,使用yum安装即可 创建软件库文件夹,比如mkdir -p /var/www/html/myrepo/x86_64, 将软件包拷贝到文件夹下. cd到该文件 ...
- ubuntu Fcitx 输入法 选择 黑框问题 解决方案
在虚拟机装了个xubuntu,弄好fcitx 输入法后,打字时看不到选择框,被黑框折腾的不行,后来了一个方法,暂时解决了问题. 用 killall fcitx-qimpanel 结束 fcitx-qi ...