前提:  

  搭建环境之前需要先理清楚各个环境的依赖关系,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. [Github] 本地git push免用户名和密码的配置

    在终端通过git config --global命令进行配置 git config --global user.email "xxx@xxmail.com" git config ...

  2. js效果之回到顶部

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. 观后感 - 从MVC到前后端分离

    今天读了篇文章 从MVC到前后端分离,讲了 前后端分离的 JAVA实现,读了前面几段就发现 自己 就有这种想法,蛮有意思的,打算研究下在PHP上的实现和应用

  4. [译]SSL/TLS真的被BEAST攻击攻破了吗?真实情况是怎样的?我应该做什么?

    原文链接:https://luxsci.com/blog/is-ssltls-really-broken-by-the-beast-attack-what-is-the-real-story-what ...

  5. Java并发--进程与线程由来

    下面是本文的目录大纲: 一.操作系统中为什么会出现进程? 二.为什么会出现线程? 三.多线程并发 一.操作系统中为什么会出现进程? 说起进程的由来,我们需要从操作系统的发展历史谈起. 也许在今天,我们 ...

  6. Java中有两种实现多线程的方式以及两种方式之间的区别

    看到一个面试题.问两种实现多线程的方法.没事去网上找了找答案. 网上流传很广的是一个网上售票系统讲解.转发过来.已经不知道原文到底是出自哪里了. Java中有两种实现多线程的方式.一是直接继承Thre ...

  7. LOJ2321. 「清华集训 2017」无限之环【费用流】

    LINK 很好的一道网络里题 首先想插头DP的还是出门左转10分代码吧 然后考虑怎么网络流 首先要保证没有漏水 也就是说每个接口一定要有对应的接口 那么发现每个点只有可能和上下左右四个点产生联通关系 ...

  8. 让控制台支持 ANSI 转义序列,输出下划线、修改颜色或其他控制

    各种操作系统的控制台都支持 ANSI 转义序列(ANSI Escape Code).使用转义序列,可以对控制台进行很多额外的定制,例如修改颜色.修改标题栏,将文字添加下划线等. 当然,.NET 已经帮 ...

  9. Appium+python (3) 异常处理

    有时候定位时会发现无法定位到具体的元素,右侧元素定位处只告诉你这是一个网页视图: 点击里面的具体元素是无法选中的,船长的做法是回到App里点一下元素,再返回要定位的页面,重新点一下Device Scr ...

  10. Django中redis的使用方法(包括安装、配置、启动)

    一.安装redis: 1.下载: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 2.解压 tar -zxvf redis-3.2. ...