postman做接口测试简单易用很容易上手,但是接口越来越多,每次手动点击runner进行测试不灵活,最近就研究了下newman,利用newman实现接口的自动化测试,但是每次需要命令行操作也不方便,就想着利用Jenkins做真正的自动化测试,刚好部门有现成的Jenkins环境就用了起来,目前已经实现了接口的自动化测试。postman导出的json文件直接上传git,Jenkinsjob配置git路径,每次只要点击下job就可以进行接口测试或者有新的接口更新也会实现自动化测试,同时可以发送邮件告知同事测试结果,非常方便。

一、环境配置

1、安装postman:Google插件下载或者postman应用下载,很简单,不说了

2、安装newman:

第一步,安装nodejs。很简单,之前的appium使用中有讲过,感兴趣的可以自己去看,这里不再赘述。 
第二步,在nodejs命令行安装newman,即命令行输入如下命令:

npm install -g newman 
3、安装Jenkins:下载war包或者zip包安装都可以,具体在之前的sonarqube持续化有讲过,这里不再赘述。

环境配置完成就可以进行json文件的导出了。

二、postman接口文件导出

为了满足能够同时运行所有的API及只运行指定的API集合,在postman中创建一个collection,里面包含多个folder,具体好处后面便知。

点击collection右侧的。。。按钮,选择Export,弹框中选择Export按钮,就可以把collection中的内容导出到本地,存为json格式的。 
这里为了切换环境方便及变量使用方便,我配置了环境变量及全局变量,为了能在newman中运行起来,环境变量及全局变量也要导出,具体如下:

点击postman右侧的设置按钮,选择manage Environments,点击环境变量后面的下载按钮,即可将环境变量导出,导出的格式为json类型。

同样,点击manage Environments页面中的Global,点击Download as JSON按钮,即可导出全局变量

相关的文件数据导出后就可以在newman中进行验证性测试了。

三、Newman的使用

1、本地运行自动化测试命令:

newman -c C:\Users\hexueqin\Desktop\serverApiTest.postman_collection.json—-这种写法已经废弃,但是用还是可以用的,不过还是用最新的好,否则Jenkins上会报错。 
2、生成测试报告,支持html,xml,json,cli4种。 
newman run C:\Users\hexueqin\Desktop\serverApiTest.postman_collection.json –reporters html,junit –reporter-html-export d:\html01.html –reporter-junit-export d:\xml01.xml 
3、含有环境变量,全局变量的自动化测试命令:指定执行对应的folder 
常见命令: 
run –运行newman的命令 
-e 加载环境变量的数据 
-g 加载全局变量的数据 
-n case运行次数,默认运行次数为1次 
–folder 运行collection中的指定folder 
–reporters html,junit 指定生成报告的类型 
其它命令可在github上查看: 
https://github.com/postmanlabs/newman#configuring-reporters 
举例: 
newman run C:\Users\hexueqin\Desktop\apiTest.postman_collection.json -e C:\Users\hexueqin\Desktop\dev-environment.postman_environment.json -g C:\Users\hexueqin\Desktop\globals.postman_globals.json –folder visitApi –reporters html –reporter-html-export d:\result.html

本地运行结果显示: 

注意:如果指定生成报告,就不显示具体的请求执行及结果。 

本地生成HTML文件的查看: 

四、Jenkins中job配置及运行 
1、新建job,名字自己取即可 
2、配置脚本:(需要在Jenkins服务器本地安装newman程序) 

3、添加HTML报告: 

4、运行job后查看报告: 

自此,postman自动化测试可以顺利的跑起来了,邮件暂时没有添加。

转载自:http://www.cnblogs.com/sunshine-sky66/p/7122347.html

https://blog.csdn.net/suancai1993/article/details/76177356

Postman+Newman+Jenkins APItest自动化集成测试的更多相关文章

  1. postman+newman+jenkins接口自动化

    postman用来做接口测试非常方便,接口较多时,则可以实现接口自动化 目录 1.环境准备 2.本机调试脚本 3.集成jenkins 1.环境准备 1.1安装nodejs6.0+ 安装nodejs6. ...

  2. postman+newman+jenkins 接口自动化问题

    声明:个人原创,转载请注明 1.安装postman工具 下载地址:https://www.getpostman.com/点击下载,选择自己的系统,我的是windows系统,64位 2.postman ...

  3. postman+newman+jenkins 接口自动化

    一:Jenkins安装: jenkins是一款跨平台的持续集成和持续交付.基于Java开发的开源软件,提供任务构建.持续集成监控的功能,可以使开发测试人员更方便的构建软件项目, 我安装是安装程序模式, ...

  4. Postman+Newman+jenkins实现API自动化测试

    最近自己在学习用postman+newman+jenkins实现API自动化测试,这里做个回顾和记录.(此次是在windows上进行的环境搭建) 一.说明 1.大致思路:利用postman做接口调试所 ...

  5. Postman + newman + jenkins 的API自动化测试应用

    一.环境配置 Postman postman 的具体使用可以参考另外一篇文章:postman 做接口测试之学习笔记 Newman 第一步,安装nodejs. 第二步,在nodejs命令行安装newma ...

  6. postman+newman+jenkins环境部署

    postman+newman+jenkins 环境部署 2017年4月27日 14:33 阅读 11 新浪博客 1.postman: http://itfish.net/article/59864.h ...

  7. Postman+newman+jenkins+git实战

    一.接口分类,流程,用例设计 接口分类: 外部接口:被测系统与外部其他系统之间的接口. 承保系统(被测系统),核算系统. 内部接口:被测系统内部各个子模块之间的接口. 承保系统(A模块,B模块) 测试 ...

  8. SpringBoot集成Swagger,Postman,newman,jenkins自动化测试.

    环境:Spring Boot,Swagger,gradle,Postman,newman,jenkins SpringBoot环境搭建. Swagger简介 Swagger 是一款RESTFUL接口的 ...

  9. postman+newman+jenkins

    1.postman: http://itfish.net/article/59864.html(网上参考资料) 1)安装(要用爬墙软件): 进入下面地址https://chrome.google.co ...

随机推荐

  1. C++ 打印缓存区数据 十六进制格式

    1.调试C++程序时,有时可能需要以16进制打印输出缓存区数据,以定位跟踪问题,现提供其实现的代码: void printHex(char* buff, int buff_len) { + ); if ...

  2. recommonmark

    一 简要介绍 recommonmark是个到commonMark文档的兼容性桥,那么什么是commonMark是什么的呢?CommonMark是规范版的markdown,下边是部分commonmark ...

  3. ASP.NET-GridView分页排序显示

    前期我们分别介绍了gridview怎么进行固定表多行数据显示,以及怎么设计花样表头.下面我们介绍怎么利用gridview进行分页显示的同时还可以进行排序显示. 显示效果 前端DEMO <span ...

  4. php excel开发01

    启用cache

  5. 验证码(captcha)的由来

    如果您允许用户在您的网站上发表内容,如留下评论和创建用户配置文件,那么您可能会看到,垃圾留言散播者试图利用这些渠道来给他们自己的网站创造流量.在您的网站上出现这类垃圾留言,对任何人来说都不愉快.用户可 ...

  6. springcloud系列11 整合微服务网关zuul

    这个模块是一个独立的模块所以需要建立一个模块, 首先引入: 依赖pom.xml <?xml version="1.0" encoding="UTF-8"? ...

  7. matplotlib学习笔记(三)

    柱状图 柱状图用其每根柱子的长度表示值的大小,它们通常用来比较两组或多组值.下面的程序从文件中读入中国人口的年龄分布数据,并使用柱状图比较男性和女性的年龄分布. import numpy as np ...

  8. spring 配置 junit

    package cn.hefen.mall.app; import cn.hefen.mall.app.model.ResultMap; import cn.hefen.mall.app.model. ...

  9. C语言利用指针排序与选择排序算法

    //读入字符串,并排序字符串 #include <stdio.h> #include <string.h> #define SIZE 81 #define LIM 20 #de ...

  10. 面向对象之-------------------永不停机的ATM

    import os class Account: def __init__(self, username, password, money=0): self.username = username s ...