Postman+Newman+Jenkins+Git持续集成时遇到的问题
Posted balllyh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Postman+Newman+Jenkins+Git持续集成时遇到的问题相关的知识,希望对你有一定的参考价值。
一、前言
我的jenkins部署在windows本地。Git部署在linux服务器,通过Gitlab界面查看仓库等信息。
Jenkins+newman+Git集成执行接口脚本时,踩了好几个坑。
简单串下流程,主要记录下解决报错的方法。
二、构建流程
1.已在postman导出接口测试用例集合文件(包含环境变量,全局变量等Json文件)
将其上传到Git仓库。
结果往Git远程仓库推送文件时,一直提示下列错误:
原因是:我的gitlab是HTTP协议,对于只开放http端口的公司内部不能使用ssh协议,只能用https.
解决方法是:克隆远程仓库到本地时,用git clone http://139.198.xx:xxx:33080/web/autotest.git.
切勿用git clone git@139.198..xx:xxx:33080/web/autotest.git 。
2.在Jenkins创建配置项目
点击项目名称“PostmanTest”--》配置,进行操作。
3.Git源码管理,配置Git仓库URL有两种方法:SSH和Https
(1)Https协议:
(2)SSH协议:
这个报错跟上面git推送文件同样的错误,原因是我这个gitlab是http协议,不能用SSH协议。所以这里不要用git@XXXX.git.
(3)添加SSH全局凭据
第一步:生成SSH私钥,$ ssh-keygen -t rsa -C "your_email@youremail.com"。邮箱可以随意写。我写的是gitlab关联的邮箱
执行完上面的命令,在Jenkins所在机器的用户C:Usershupzon.ssh路径下,生成id_rsa.pub和id_rsa文件。
第二步:登录gitlab/github,在setting中配置公钥信息。如下图
第三步:在Jenkins中配置凭据,将id_rsa文件中的信息贴进去。添加成功。注意:公钥私钥都是所有信息复制进去。
4.在Jenkins_管理Jenkins_Global Tool Configuration中进行全局配置
配置本地git可执行文件的路径。
5.在Jenkins上构建,选择Execute Windows batch command或者Execute shell.
立即构建后,控制台输出有报错:
Build step ‘Execute Windows batch command‘ marked build as failure ,Finished: FAILURE
原因:jenkins执行windows命令时,若退出代码不为0 ,则jenkins会将构建标记为失败
解决方法:在最后加exit 0 表示正确执行后退出,非0 表示未成功构建。
6.Jenkins_buildnow 构建后
在.jenkinsworkspacePostmanTestAPItest路径下,可以看到从git拉取到的集合文件和测试报告
以上是关于Postman+Newman+Jenkins+Git持续集成时遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins+postman+Newman之API自动化测试
Postman+Newman+jenkins实现API自动化测试