为何要做接口自动化测试的持续集成?

1. 接口相对稳定,改动少,比起GUI自动化测试来说性价比更加高些,不容易出现GUI自动化那种掉到维护脚本的坑里。

2. 接口测试比较简单,一个规范的接口,测试只需要按照接口扩展测试用例就行,覆盖上较方便,后期维护接口时也比较快捷。

3. 利用持续集成的优势,可以在开发写好接口后直接做好接口测试的持续集成,部署到jenkins上,提前发现问题,而不是等到项目后期再发现问题解决问题。

为什么建议由测试来完成接口测试?

1. 相比开发来说,测试更容易设计测试场景并覆盖齐全。

为什么选择此方案?

接口测试的方案有很多,无论是jmeter+ant+jenkins,还是postman+jenkins+newman,亦或是通过代码实现,归根结底,选择比较方便的方案就好。

jmeter做接口测试有他自己的优势,但是资源占用和配置上相对来说较繁琐些,而代码编写的话会对测试有一定的代码能力的要求,所以这里也是选择postman的原因,能让其他团队更容易上手。

原理

通过postman编写接口测试的用例,最后将接口集导出,上传到git,再通过jenkins的配置,从git取导出的接口集json,trigger接口测试的job运行。

安装步骤:

首先确保系统安装来python,gcc,g++,如果没有则安装:

$ sudo apt-get install python

$ sudo apt-get install build-essential

$ sudo apt-get install gcc

$ sudo apt-get install g++

从nodeJS官网http://nodejs.org/下载最新源代码包
$ wget http://nodejs.org/dist/v6.5.0/node-v6.5.0.tar.gz

解压:

$ tar -zxf node-v6.5.0.tar.gz

$ cd node-v6.5.0

默认安装:

$ ./configure

$ make

$ sudo make install

安装结束,可以用下面的命令检查安装的版本:

$ node –version

v6.5.0

安装NPM并测试下
$ sudo apt-get install npm
$ npm install newman --global
$ newman run examples/sample-collection.json

集成jenkins,从git的分支pull接口集合文件并使用上面的命令执行。

相关资料:https://www.npmjs.com/package/newman

postman+jenkins+newman做接口测试的持续集成的更多相关文章

  1. Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)

    Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上) Jenkins+Docker+SpringCloud持续集成流程说明 大致流程说明: 1) 开发 ...

  2. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...

  3. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...

  4. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...

  5. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一) 2015-01-14 20:28 by 飘扬的红领巾, 4322 阅读, 5 评论, 收藏, 编辑 ...

  6. 使用Jenkins+Calabash+Cocoapods搭建iOS持续集成环境

    使用jenkins+calabash+cocoapods搭建ios持续集成环境 持续集成 持续集成到底是什么呢?依据敏捷大师Martin Fowler的定义: 持续集成是一种软件开发实践. 在持续集成 ...

  7. 构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境

    构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境 整个环境的结构图. 一.准备工作 gitlab和harbor我是安装在kubernetes集群外 ...

  8. Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成——部署方案优化

    Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成--部署方案优化 之前我们做的方案部署都是只能选择一个微服务部署并只有一台生产服务器,每个微服务只有一个 ...

  9. Jenkins+maven+git+sonar 系统持续集成&代码单測管理

    Jenkins+maven+git+sonar 系统持续集成&代码单測管理 Jenkins的安装 Jenkins是基于Java开发的一种持续集成工具,用于监控持续反复的工作.功能包含: 1.持 ...

随机推荐

  1. Sublime Text 3设置笔记

    Sublime Text 3设置笔记 Sublime Text 3设置指南 1. 安装package control 下载package control源码安装包,并解压: http://yun.ba ...

  2. Java笔记:String类

    1.String类是不可变类,一旦一个String对象被创建以后,包含在这个对象中的字符序列式不可改变的,直至这个对象被销毁. String s1 = "java"; s1 = s ...

  3. Emacs折腾经验谈

    Emacs折腾经验谈 这几天都没有动力写mongodb的东西,我果然还是太懒了么~ 主要是没有一个系统的东西整理出来,加上我令人拙计的语言表达能力,这个坑只能慢慢再补了. 最近在折腾emacs这个东西 ...

  4. continue与break

    1.continue语句,1至20内奇数累加和 #include<iostream> using namespace std; void main(){ int i=0; int sum= ...

  5. 设置代码ios 6添加日历事件No calendar has been set.错误

    查了好多资料,发明还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 在iOS 6做日历事件添加时,来来回回报错,No calendar has been set ...

  6. python之路 - 基础4

    1.函数非固定参数 *args *kwargs def test(*args): print (args) test(1,2,3,4,5) test(*[1,2,3,4,5]) #*args = *[ ...

  7. android浏览器 源码共享

    浏览器源码共享 [天天浏览器]拥有极为精简的内核,手机App大小在2MB以内,是市场上极省用户手机内存,极少占用手机资源,速度极快的浏览器,本身功能完整强大,是极速上网必备的利器. 源代码下载地址:h ...

  8. CodeForces 721D Maxim and Array

    贪心,优先队列. 先看一下输入的数组乘积是正的还是负的. ①如果是负的,也就是接下来的操作肯定是让正的加大,负的减小.每次寻找一个绝对值最小的数操作就可以了. ②如果是正的,也是考虑绝对值,先操作绝对 ...

  9. grunt--自常用配置文件--js/样式压缩打包,sass工具整合使用

    // Project configuration. module.exports = function(grunt) { // 使用严格模式 'use strict'; // 这里定义我们需要的任务 ...

  10. Qt-剪切板

    ClipBoard 存在的意义 进程间数据共享. 方式 Drag And Drop: clipBoard的拖曳方式 app's ClipBoard 缺点 没有权限管理 在Model View中实现Dr ...