关闭

Jenkins+postman+newman之API全自动化测试

标签: JenkinspostmannewmanAPI全自动化测试
16080人阅读 评论(18) 收藏 举报
分类:

1 背景

本文要介绍的环境在我司已经投入使用,举个简单的真实使用场景,开发提供了300多个API,每个API都有各种参数,所以我们会先在postman中为这300多个API编写300*n个testcase,然后在jenkins上跑;到此有人可能会问,都在postman中写好testcase了,怎么还要去jenkins中跑,岂不是多此一举?答案是否定的,试想,当开发一直在不停的维护这300多个接口时,难道需要开发每次都告诉我们测试人员该进行测试了吗?显然不是的,这就是jenkins+postman的自动化之处了,开发可以实现一个jenkins的上游job脚本(当接口代码有修改时触发我们这个testcase的下游job),当他们每次修改维护接口时不需要进行任何操作与交流,代码一旦提交jenkins就能自动化个性化地开始执行我们预定于的那些testcase了,然后我们只用关注最终的测试结果邮件即可,这样大大的提高了开发测试效率。

鉴于国内很少测试工程师用postman来测试API,于是写本篇文章分享下。前一个月用postman写了API自动化测试脚本,并用newman命令行运行所有测试案例,觉得没有达到全自动化测试,于是配置jenkins job来运行API自动化测试脚本,使API达到完全自动化测试!

2 环境配置与运行

这部分依次展示了如何安装设置及运行一个基于Postman的自动化工具,具体如下。

2.1 postman 安装

在谷歌浏览器下载postman插件,并安装,下载路径(Chrome应用商店需要翻墙):https://chrome.google.com/webstore/search/postman?hl=en 。这个比较小儿科,一句话带过就行了。(不过要注意,建议最好下载应用,而不是插件,因为功能强大一些)。

2.2 newman 的安装

第一步,安装nodejs。
第二步,在nodejs命令行安装newman,即命令行输入如下命令:

npm install -g newman

这里写图片描述

2.3 jenkins 安装

去官网(https://jenkins.io/index.html)下载jenkins,各种下一步点击安即可(官网wiki等目录下一般都有不同平台的安装文档,依据文档安装即可)。

2.4 postman 使用与导出

第一步,创建一个放置testCase的文件夹Test,如下:
这里写图片描述

第二步,创建第一个testcase,点击下图1处的加号新增一个case,在2处选择你的API请求方式,在3处写上api请求的url,在4处填写该请求的相关参数,具体如下图:
这里写图片描述

下面展示了一个依据上图步骤配置后的邮箱地址请求示例,如图:
这里写图片描述

第三步,对一个testCase的判断可以写在如下所示位置(判断的意思是指譬如返回的状态码、内容等是不是你期望的值):
这里写图片描述

第四步,点击send按钮即可发送一个请求,同时可以看到请求的结果,如图:
这里写图片描述

当然,一般Test目录可能有很多的testCase,这种情况下我们可以选中文件夹,然后点击start Test按钮,这样就会自动执行文件夹内的所有testcase并显示测试结果,如图:
这里写图片描述

第五步,导出上面在postman中写的testCase文件和设置的环境变量文件(如下图导出testCase alarm detail 文件 和 environment 文件)。这是最重要最核心的一步,自动化的源头依赖于此步,请务必注意。
这里写图片描述
这里写图片描述

至此postman的基本使用和导出就完事了,关于postman的其他主题设置、登录等等其他功能请自行摸索,其实很多开发也非常喜欢用postman,譬如移动端开发喜欢用postman去请求服务端提供的API,以此来简单快捷验证接口的正确性和Json、xml等数据格式。

2.5 jenkins 配置

在jenkins上配置如下图,这个路径就是上面通过postman导出文件的路径。
这里写图片描述

剩下的就是jenkins的常规操作了,譬如设置好邮箱后点击立即构建或者设置多久构建一次,这样自动化就跑起来了,等待自动化测试结束后我们就可以收到测试成功或者失败的测试报告邮件(依赖于你的设置)了。

通过上面这些步骤即可完成基于postman和Jenkins的自动化接口测试。

3 总结

可以看见,其实postman就是一个GUI的工具,我们完全可以手动用它验证接口,但是当有海量接口且有序执行时就比较麻烦了,所以我们可以通过postman将所有接口的测试案例进行编写实现及导出;而由于postman导出的文件想在jenkins上通过命令行执行依赖于newman环境,所以我们安装配置了newman,以此就能解决jenkins只能执行命令行或者脚本的弊端;他们几个的结合就实现了一次测试案例的编写实现个性化自动化的接口测试。

10
0
查看评论

Jenkins+Newman+Postman之全自动化测试

1. 操作环境1. Windows: win10 2. Jenkins Jenkins 2.76 3. Java JDK_1.8.0_64bit.exe 4. Tomcat apache-tomcat-8.0.11 5. NodeJS v6.11.2 6. Newman 3.8.1 7. Postm...
  • ZZY1078689276
  • ZZY1078689276
  • 2017-09-04 12:06
  • 578

接口测试-postman+newman+jenkins组合

这样的组合可以快速的让你开始接口测试,一起来看看这个小儿美的接口测试工具吧 Postman-录制Case安装PostmanPostman现在是一个单独的App,以前是Chrome的一个插件,现在单独出来了。下载完Postman后,安装Postman Interceptor记得一定要安装Postman...
  • qhshiniba
  • qhshiniba
  • 2016-01-23 17:59
  • 9186

postman-Newman的安装及使用

postman-Newman的安装及使用
  • ZhangYing_csu
  • ZhangYing_csu
  • 2016-08-31 17:04
  • 3662

Postman newman

转自:http://www.cnblogs.com/miniren/p/5607861.html 官方文档: Newman - Running collections in the command line Installing Newman on Windows ...
  • xiaosongbk
  • xiaosongbk
  • 2017-03-21 17:23
  • 582

持续集成环境Jenkins详解

Jenkins介绍 Jenkins是一个开源的Java Web项目,一个持续集成的Web项目。例如在自动化测试中,开发了自动化测试的脚本,不可能一直用IDE来运行,然后查看测试结果,这个时候我们就需要借助一个平台,可以自动获取最新代码,编译并构建,并且是在设置的时间持续执行,自动化完成这些步骤以后...
  • wuxuehong0306
  • wuxuehong0306
  • 2015-11-24 18:01
  • 15729

Jenkins集成TestNG Junit自动化测试

自动化测试是Jenkins持续集成和部署的又一核心价值体现,我们先来做一个基于Junit 的 TestNG 测试。我们的实现步骤是:1、在Jenkins上安装xUnit插件;2、在Eclipse上安装TestNG插件;3、编写Junit测试及TestNG.xml配置。另外除了Junit测试还有模拟...
  • boonya
  • boonya
  • 2017-08-18 16:10
  • 1859

Jenkins + TestNG 实现自助式自动化测试平台

摘要: 本文介绍了如何使用 Jenkins 和 TestNG 实现满足复杂测试需求的”自助式”自动化测试平台。该方案以 Jenkins 作为平台的基础,结合功能强大的插件及系统配置,部署基于 TestNG 的自动化测试包,并提供了友好的 Web 访问界面。项目成员可以在任何时间和地点,通过浏览器访...
  • Temanm
  • Temanm
  • 2017-03-29 21:05
  • 4208

jenkins在自动化测试中的应用(Selenium+Python+Jenkins)

之前做过一个自动化并发脚本的测试,因为才用的是python语言来编写的脚本,所以能用的东西很少,纠结了很长一段时间,结果很无奈的用windows的计划任务来实现一个很简单的并发,弊端显而易见的,浏览器同时并发10个,电脑基本就出于崩溃的边缘了,在这之后一直寻找一个合适的工具,偶然从群里看到有人使用j...
  • rainow007
  • rainow007
  • 2014-02-13 09:49
  • 8018

基于Jmeter和Jenkins接口自动化测试框架搭建详细过程

 1. 下载地址 Jmeter: http://jmeter.apache.org/download_jmeter.cgi Ant:http://ant.apache.org/bindownload.cgi Jenkins:https://jenkins.io/index.html 2...
  • oaa608868
  • oaa608868
  • 2016-12-08 20:27
  • 5715

57.Python项目在Jenkins中的自动化测试实践

详细介绍Python项目在Jenkins中的自动化测试实践过程。
  • a464057216
  • a464057216
  • 2016-10-26 14:40
  • 5460
    个人资料
    • 访问:111070次
    • 积分:1499
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:3篇
    • 译文:0篇
    • 评论:39条
    最新评论