全栈工程师开发手册 (作者:栾鹏)
架构系列文章


有什么问题可以直接参考官网:https://www.getpostman.com/docs/v6/postman/collection_runs/command_line_integration_with_newman

前提

搭建环境之前需要先理清楚各个环境的依赖关系,jenkins只支持windows命令行跟linux shell环境执行构建命令,而postman的测试脚本不能直接在命令行或shell环境执行,postman脚本需要有自己的执行环境,叫newman;而postman是基于javascript语言,所以newman环境还依赖于javascript的环境nodejs;所以整个过程是先搭建nodejs构造javascript环境,在搭建newman构造postman脚本运行环境,在集成到jenkins上;

安装nodejs:

因为我之前也是将jenkins搭建到服务器上的,所以我也将其他的环境也搭建在服务器上,我们服务器的linux系统版本是ubuntu 4.0 64位,安装步骤如下:

1、下载安装包,在node官网下载:

下载下来的是一个.tar.xz结尾的文件node-v8.12.0-linux-x64.tar.xz,将这个文件用scp上传到服务器中,

也可以自己在https://nodejs.org/dist/中选择下载,或者使用下面的命令直接在docker里面下载版本.

wget -c wget -c https://nodejs.org/dist/v9.9.0/node-v9.9.0-linux-x64.tar.gz   下载
tar -zxvf node-v9.9.0-linux-x64.tar.gz     解压
mv node-v9.9.0-linux-x64 node

2、linux下解压tar.xz文件

使用xz -d node-v8.12.0-linux-x64.tar.xz 解压成 node-v8.12.0-linux-x64.tar  
再用tar -xvf node-v8.12.0-linux-x64.tar解压,获得node-v8.12.0-linux-x64;  
目录名称太长不吉利,所以改名 mv node-v8.12.0-linux-x64 node,得到最终的node文件目录;

3、初识node文件

下载的这个版本的node有个好处,就是文件都是编译好的,也就是说在解压后的node目录中的bin目录中已经存在node文件和npm文件,可以进到./node/bin目录下确认,在bin目录下执行:

./node --version

结果返回该node的版本v8.12.0;
  
这个时候的node跟npm只是局部的执行文件,只能在bin目录下调用,需要设置为全局的;

设置全局的方法很简单,就是在/usr/local/bin目录下分别创建一个link指向node/bin目录下的node文件跟npm文件;

但是我搭建的时候遇到的问题是,系统中已经被安装了node,但是因为node版本太低,不能运行newman,要运行newman则node版本最低为4.xx;

4、判断是否已经安装了node

在./node/bin目录之外,执行node --version,如果有返回版本号,并且版本号还大于4.x.x,那么恭喜node不用重新装了,如果没有返回那直接执行创建link链接,如果有返回版本号,但是版本号还低于4.x.x,那么需要卸载已安装的node,删除已经存在的link链接;  
linux下删除安装的node:

sudo apt-get autoremove --purge node

进入到/usr/local/bin目录下,删除link链接:

sudo rm -f node  
sudo rm -f npm  

5、创建新的link链接
  原有的node被卸载,link也被删除,现在系统中就只有新装的node跟npm,创建link链接,将node跟npm全局化:

    ln -s /soft/node/bin/node /usr/local/bin/nodeln -s /soft/node/bin/npm /usr/local/bin/npmln -s /soft/node/bin/node /usr/bin/nodeln -s /soft/node/bin/npm /usr/bin/npmnpm i -g npm    升级最新版的npm

其中/soft/node/bin/node为你自己系统中node文件的绝对路径,/usr/local/bin/node为新创建的node链接的绝对路径,npm同理;
  执行完成后,在其他目录下执行node --version,应该可以返回当前新安装的node版本号;
  至此,nodejs环境就安装完成了;

安装newman:

很简单,在你想要安装newman的目录下,执行:

npm -g install newman

系统会自动安装,安装完成后,会在node的目录下面建立软链接,

ln -s /soft/node/bin/newman /usr/local/bin/newman
ln -s /soft/node/bin/newman /usr/bin/newman

可以到/usr/local/bin目录下查看,自动创建了newman的link链接,指向的文件也是/soft/node/lib/node_modules/newman/bin/目录下的newman.js文件,即会在/soft/node/lib/node_modules/目录下自动生成newman文件;

在任意目录下,执行:newman --version  执行结果返回newman版本号,则newman安装完成;
目前我的newman版本号是4.1.0

导出postman文件:

假定已经在postman中添加好了api请求,并都设置好了相应的环境变量以及test script,
书写格式可以参考:https://blog.csdn.net/luanpeng825485697/article/details/83507112

如下图选择需要的api collection,导出json文件,请重新命名一个好听的文件名,因为默认的文件名真的是又臭又长,如我的文件名:postman_collection.json  

之前说过对于设置了环境变量的api,导json文件的同时,需要导出环境变量文件,否则api中的变量没有意义,如下图,选择相应的环境,导出环境变量文件,改名:environment.json

手动跑脚本:

将导出的api的json文件和环境变量的文件都上传到服务器系统中适当的目录下,在该目录下执行如下命令:

newman run collection.json -e environment.json

系统就会自动运行api的json文件,并返回执行结果;

相信到这一步,再怎么集成到jenkins就已经很明确了,因为系统中已经有了newman环境,在jenkins相应的任务中,构建命令选择linux shell,先切换到json文件所在的目录,再执行newman的命令,点击构建,在构建日志中就能看到每个api的测试结果,以及每个断言的判定结果;

结合前面的github的push操作触发jenkins构建postman的api脚本运行,这一些列的设置都已经结束,可以通过实际操作github来验证一把,希望你能运行成功

jenkins+postman+newman环境搭建自动化测试相关推荐

  1. Jenkins + Postman + Newman作自动化API测试

    文章目录 Jenkins + Postman + Newman作自动化API测试 用Postman作API测试 提交Postman Collection到版本控制 在Jenkins上安装`newman ...

  2. Jenkins - 持续集成环境搭建【转】

    1. Jenkins 概述 Jenkins是一个开源的持续集成工具.持续集成主要功能是进行自动化的构建.自动化构建包括自动编译.发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件. 2 ...

  3. JDK(11)+Tomcat(9.0)+Maven(3.6.0)+Eclipse(2018-9)+SVN插件+Mysql(8.0)+Navicat fo Mysql +postman开发环境搭建

    一.JDK11安装(2018-9-25号发版/版本每6月更新一次) 1.网址:https://www.oracle.com/technetwork/java/javase/downloads/jdk1 ...

  4. jmeter+ant+jenkins接口自动环境搭建

    ant 下载地址:http://archive.apache.org/dist/ant/binaries/ 下载:apache-ant-1.9.7-bin.zip 解压到系统盘下:D:\apache- ...

  5. 手把手教学 | Jenkins安装与环境搭建,附细节图。百度也比不上我

    嘿.大家好,我是4U: 今天我们再来讲讲Jenkins工具的安装与配置.近期会有小伙伴后台私信,下载与安装都会,但是在配置上总会出现点小插曲,所以本次特意为大家将每一步细节整理出来. Jenkins介 ...

  6. Jenkins自动化部署环境搭建

    Jenkins实现流程图 1.1. docker部署jenkins,可避免很多问题 1.2. war包启动 下载war包链接:https://get.jenkins.io/war-stable/ je ...

  7. 【原】Jenkins持续集成环境搭建之创建java项目的job【centos6.5 java maven git 项目】...

    一.构建一个maven项目 在jenkins主页上,左侧,选择"新建",然后填写项目名称,选择"构建一个maven项目" 二.Git配置 保存之后,进入详细配置 ...

  8. Jenkins Mac本地环境搭建

    一.安装 进入 Jenkins官网,选择下载war,或者mac可以使用命令 brew install jenkins 任一选择一个版本 二.启动Jenkins服务 默认8080端口很大概率被占用,所以 ...

  9. UI层自动化测试框架(一)-简介和环境搭建

    大家好,本系列教程主要介绍基于Appium的UI层的自动化测试框架的设计和实践.我将平时的学习和工作的实践一一的总结下来,给初学者一点灵感和启发,如有不对的地方还请大家指出. 所谓UI层自动化,顾名思 ...

最新文章

  1. 树形dp ---- gym101655 D - Delta Quadrant 树上连通块思维换根 + 树形dp
  2. 华中科技大学计算机科学卓越班,2016年华中科技大学光电信息科学与工程(卓越计划实验班)专业在江苏录取分数线...
  3. android 解析网络数据(JSON)
  4. sap crm button_正值SAP中国成立25周年之际,江苏金来奇智能科技SAPB1项目正式启动...
  5. 翻滚吧,水瓶君!全日本高中生机器人大赛,“超自然”力量制霸全场
  6. Xcode中的基本设置(iOS9的数据加载问题,pch文件问题)
  7. 剑指offer(C++)-JZ27:二叉树的镜像(数据结构-树)
  8. VIM总结之一:VIM编辑器常用命令详解
  9. matlab传递函数带符号变量,符号传递函数matlab
  10. python之类和对象
  11. 宝宝便秘,这些习惯都是元凶!
  12. 2021年需要关注的15大软件测试趋势(一)
  13. Navicat导出整个数据库
  14. 人工智能新目标——看懂视频
  15. F5负载均衡器通过iRules实现http应用的灵活转发
  16. 图像分类:从13个Kaggle竞赛中总结技巧
  17. 剑网3手游怎么在电脑上玩 剑网3手游电脑版玩法教程
  18. 中国电信3G业务抢先发 3G终端国产占到六席
  19. VSCode 显示 GB2312 编码格式的中文乱码
  20. Fitnesse安装

热门文章

  1. python语言的主网址-python调用浏览器,打开一个网址
  2. 语音识别方案设计书.doc
  3. cas5.3 → 连接mysql数据库
  4. php编写九九乘法表隔行换色,JavaScript实现99乘法表及隔行变色实例代码
  5. Linux下安装和卸载jdk及环境配置
  6. mysql 存储过程发邮件_通过sql存储过程发送邮件的方法
  7. sql 纵向求和_sql 行列转换 求和平均值等
  8. 【NOIP2010】【Luogu1190】接水问题(给定顺序的模拟)
  9. 【Luogu3371】【模板】单源最短路径(SPFA)
  10. Php sql server2005,phpmssqlserver2005数据库连接类