前提:  

  搭建环境之前需要先理清楚各个环境的依赖关系,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结尾的文件,将这个文件用xftp上传到服务器中,

  

  2、linux下解压tar.xz文件

  使用xz -d node-v6.9.5-linux-x64.tar.xz 解压成 node-v6.9.5-linux-x64.tar
  再用tar -xvf node-v6.9.5-linux-x64.tar解压,获得node-v6.9.5-linux-x64;
  目录名称太长不吉利,所以改名 mv node-v6.9.5-linux-x64 node,得到最终的node文件目录;
 
  3、初识node文件
  下载的这个版本的node有个好处,就是文件都是编译好的,也就是说在解压后的node目录中的bin目录中已经存在node文件和npm文件,可以进到./node/bin目录下确认,在bin目录下执行:
  ./node --version
  结果返回该node的版本v6.9.5;
  这个时候的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目录下,确定有node跟npm的link链接,
  
  /usr/local/bin目录下,删除link链接:
  sudo rm -f node
  sudo rm -f npm
 
  5、创建新的link链接
  原有的node被卸载,link也被删除,现在系统中就只有新装的node跟npm,创建link链接,将node跟npm全局化:
  ln -s /home/lizihaoshiqi/node/bin/node /usr/local/bin/node
  ln -s /home/lizihaoshiqi/node/bin/npm /usr/local/bin/npm
  其中/home/lizihaoshiqi/node/bin/node为你自己系统中node文件的绝对路径,/usr/local/bin/node为新创建的node链接的绝对路径,npm同理;
  执行完成后,在其他目录下执行node --version,应该可以返回当前新安装的node版本号;
  至此,nodejs环境就安装完成了;
 
安装newman:
  很简单,在你想要安装newman的目录下,执行:
  npm -g install newman
  系统会自动安装,安装完成后,可以到/usr/local/bin目录下查看,自动创建了newman的link链接,指向的文件也是/node/lib/node_modules/newman/bin/目录下的newman.js文件,即会在node/lib/node_modules/目录下自动生成newman文件;
  
  在任意目录下,执行:newman --version  执行结果返回newman版本号,则newman安装完成;
 
导出postman文件:
  假定已经在postman中添加好了api请求,并都设置好了相应的环境变量以及test script,如下图选择需要的api collection,导出json文件,请重新命名一个好听的文件名,因为默认的文件名真的是又臭又长,如我的文件名:postman_collection.json
  

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

  

手动跑脚本:

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

  newman -c postman_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. 第四章Android移植环境搭建

    第四章Android移植环境搭建 这一章主要学习如何搭建 Android 移植的环境.因为 Android 底层是基于 Linux 内核的,所以本章从交叉编译环境等嵌入式开发环境的搭建开始,介绍了 B ...

  2. Hadoop 系列(四)—— Hadoop 开发环境搭建

    一.前置条件 Hadoop 的运行依赖 JDK,需要预先安装,安装步骤见: Linux 下 JDK 的安装 二.配置免密登录 Hadoop 组件之间需要基于 SSH 进行通讯. 2.1 配置映射 配置 ...

  3. 持续集成-jenkins介绍与环境搭建

    什么是持续集成? 转自:https://blog.csdn.net/tanshizhen119/article/details/80328523 持续集成,俗称CI, 大师Martin Fowler对 ...

  4. jenkins在linux环境搭建-公司系统

    1.按照这个搭建的项目https://www.cnblogs.com/zishengY/p/7170656.html 2.配置权限https://blog.csdn.net/mynameissls/a ...

  5. jmeter + ant + jenkins 自动化集成环境搭建

    所需工具 一.jmeter 工具下载 https://jmeter.apache.org/  配置环境JDK等及各种插件 二.Ant安装(http://ant.apache.org/) 安装Ant是为 ...

  6. 《天书夜读:从汇编语言到windows内核编程》四 windows内核调试环境搭建

    1) 基础篇是讲理论的,先跳过去,看不到代码运行的效果要去记代码是一个痛苦的事情.这里先跳入探索篇.其实今天的确也很痛苦,这作者对驱动开发的编译与调试环境介绍得太模糊了,我是各种尝试,对这个环境的搭建 ...

  7. Spark环境搭建(四)-----------数据仓库Hive环境搭建

    Hive产生背景 1)MapReduce的编程不便,需通过Java语言等编写程序 2) HDFS上的文缺失Schema(在数据库中的表名列名等),方便开发者通过SQL的方式处理结构化的数据,而不需要J ...

  8. jenkins安装及环境搭建

    Jenkins 是基于Java开发的一种持续集成工具,所以,Jenkins需要Java环境. Jenkins版本是: JAVA版本是: Tomcat版本是: 或者 Jenkins版本是:2.10.2 ...

  9. Hadoop环境搭建|第四篇:hive环境搭建

    一.环境搭建 注意:hive版本不能太高,否则会出现兼容性问题 1.1.上传hive安装包 创建文件夹用于存放hive文件命令:mkdir hive 1.2.解压hive安装包 命令:tar -zxv ...

随机推荐

  1. caffe学习笔记教程

    1 官网:http://caffe.berkeleyvision.org/ 2 豆丁网中:http://www.docin.com/p-871820917.html 3 下载的caffe中,.../d ...

  2. Flask开发系列之初体验

    Flask开发初探 介绍 在日常开发中,如果需要开发一个小型应用或者Web接口,一般我是极力推崇Flask的,主要是因为其简洁.扩展性高. 从这篇文章开始,我会写一个关于Flask的系列文章,通过多个 ...

  3. 【剑指offer】把二叉树打印成多行,C++实现

    原创文章,转载请注明出处! 本题牛客网地址 博客文章索引地址 博客文章中代码的github地址 1.题目       从上到下按层打印二叉树,同一层结点从左至右输出,每一层输出一行.例如:下面二叉树的 ...

  4. [svn]显示日志很慢 点击文件查看更改记录也贼慢

    特此记录,防止以后忘记. 解决办法: 在 C:\Windows\System32\drivers\etc (win7) 中加入 即可 亦或将代码的url中pc名字改为ip地址也可以解决问题 对文件夹点 ...

  5. Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录

    Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...

  6. CSS格式化工具

    一直想自己写个css格式化工具,因为原先的<CSS代码格式化和压缩化>工具,压缩or格式化的都不是我的编码习惯.我的格式化工具也许代码方面细节方面都没他的好,但是符合自身需要的东西才是好东 ...

  7. WebStorm的主题与设置

    1.  Webstorm主题风格选择 2.  Webstorm字体字号配置 3.  Webstorm快捷键的查找 4.  Webstorm插件的安装

  8. Codeforces 1030D 【构造】

    LINK 题目大意:给你n,m,k,让你在一个n*m的点阵里构造出一个面积为\(\frac{n*m}{k}\)的三角形 思路 首先要有一个结论是整点三角形的面积分母最多为2,然后就可以判断不存在的情况 ...

  9. MySQL 根据身份证查找年龄段

    SELECT       idcard,YEAR (NOW()) - substring(idcard, 7, 4) as nFROM es_members where idcard >0 HA ...

  10. 如何批处理多个MySQL文件

    @echo off CHCP 65001 --设置cmd编码for %%i in (E:\sql\*.sql) do (   --多个MySQL  SQL文件的存放目录echo excute %%i ...