Postman+Newman+Git+Jenkins接口自动化测试
一、Postman
1、创建Collection,在Collection中创建接口请求,如下图所示。
2、编写接口对应的断言Test和Pre-request Script,如下图所示。
3、配置接口对应的环境变量或全局变量。
4、导出接口集合Collection和导出对应接口的环境变量,导出生成的是JSON文件。
如下图所示,导出生成的接口集合和环境变量JOSN文件
如大家对以上Postman的操作疑惑的,可参考之前我写过的Postman(一)两篇博客。
二、Newman
1、简介
newman是Postman的命令集合运行器,可以通过它直接从命令行运行和测试Postman,以便后续在持续集成服务器构建。
Newman 是 Postman 推出的一个 nodejs 库,直接来说就是 Postman 的json文件可以在命令行执行的插件。
官方文档:https://www.npmjs.com/package/newman
2、安装
淘宝镜像全局安装newman的命令:
npm install -g newman --registry=https://registry.npm.taobao.org
安装成功,如下图所示,显示newman成功安装好的版本号。
验证newman是否安装成功,查看newman版本号命令:newman -version
3、常用Newman语法
列举一些常用的Newman命令语法。
1、运行命令 newman run URL连接 或 newman run 集合文件名
2、-e,- environment <path> 指定Postman环境的URL或路径。
3、-g,–globals 指定全局变量的文件地址或url
4、-d,—-iteration-data 指定用于迭代的数据源文件路径
5、-n,–iteration-count 指定迭代次数
6、–export-globals 导出全局环境变量
7、–timeout (ms) 设置整个集合运行完成执行的时间
8、–export-collection 导出集合文件
9、–timeport-request (ms) 指定等待请求返回响应的时间
10、–timeout-script (ms) 指定等待脚本执行完成的时间
我们可通过cmd终端查看newman run运行时可以所带的相关参数。newman run -h查看所有相关参数语法,如下图所示。
4、Newman实例
该newman run命令允许您指定要运行的集合。您可以轻松地从Postman App中将Postman Collection导出为json文件,并使用Newman运行它。
newman run examples/sample-collection.json
例:运行Postman导出的接口集合及环境变量,打开cmd,定位至Json文件目录,输入newman运行命令。
newman run Test.postman_collection.json -e mukeOnline.postman_environment.json
run运行接口集合的命令,-e 带入接口集合的环境变量
我们在cmd终端定位至接口集合和环境变量的JSON文件目录,运行命令行结果如下图:
由上面的运行可看出在cmd终端运行的结果不太方便测试人员的查看与测试报告的形成。那么我们如何利用newman命令来生成输出测试报告文件?
指定测试报告的导出格式:目前支持四种格式:cli,json,html,junit
--reporter-{{reporter-name}}-{{reporter-option}}
支持同时导出多种测试报告格式
JSON --reporter-json-export <path>
HTML --reporter-html-export <path>
JUNIT/XML --reporter-junit-export <path>
我们还拿上面的集合和环境变量来举例,生成HTML报告时需要安装html套件,命令行中执行:
npm install -g newman-reporter-html --registry=https://registry.npm.taobao.org
安装newman-reporter-html,如下图
运行命令,即可在文件目录下查看生成的HTML文件形式的测试报告。
newman run Test.postman_collection.json -e mukeOnline.postman_environment.json -r html --reporter-html-export report.html
生成的HTML测试报告文件,如下图所示。
我们可以看出用上面HTML生成的报告样式比较简单,怎么让我们的报告显得高大上呢?那么我们就得使用Htmlextra套件。
首先安装使用htmlextra套件生成比较高级的html报告,使用方法和html的相同,需要安装htmlextra,命令行中输入:
npm install -g newman-reporter-htmlextra
安装成功,如下图所示。
我们把上面的接口集合用例再执行一下,看看这个测试报告的效果如何。newman运行命令如下。
newman run Test.postman_collection.json -e mukeOnline.postman_environment.json -r htmlextra --reporter-html-export htmlReport.html
测试报告结果如下图,可看出报告的样式比之前好多了。
三、Git
下载GitExtensions和Git,将Postman导出的json文件上传至github上,拉取下来可进行迭代。这里不过多说明,可自行查找资料。
四、Jenkins
1、简介
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。
2、安装
下载Jenkins:https://www.jenkins.io/download/,下载后并安装。
安装时出现的问题:
(1)问题一:注意安装Jenkins之前先安装tomcat和Java jdk,否进入不了Jenkins页面。当安装好tomcat和java jdk后,Jenkins页面仍卡着不动。
解决方法:查看并修改配置文件设置,重启tomcat服务。进入Jenkins根目录,打开hudson.model.UpdateCenter.xml文件,将文件中的url,修改为http://updates.jenkins.io/update-center.json,即去掉https中的s或更改为
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,修改好后,重新启动tomcat服务即可。
(2)问题二:进入Jenkins页面,到配置安装组件时,出现No such plugin: cloudbees-folder的报错。
解决方法:打开链接“http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/”,在最下面找到并打开“latest”目录。将目录中的“cloudbees-folder.hpi”下载下来后放在“jenkins安装目录\war\WEB-INF\detached-plugins”文件夹中。在“控制面板-管理工具-服务”中找到“jenkins”服务,重启服务,重启tomcat服务。重新访问http://localhost:8080/即可。
3、Jenkins配置Git与newman
新建Item,选择Freestyle project
任务的Git地址、证书与分支的相关配置
设置构建newman运行命令
newman run Test.postman_collection.json -e mukeOnline.postman_environment.json
设置好后保存,点击Build Now
生成构建结果
构建后生成Junit报告,Git上新建空xml文件,nweman运行命令指向该xml文件。构建前运行命令修改为
newman run Test.postman_collection.json -e mukeOnline.postman_environment.json -r junit --reporter-junit-export newman\xmlReport.xml
运行结果测试报告可在Test Result中可查看。
设置定时任务
Build periodically 每天上午10点构建一次 H 10 * * *,如下图所示。
以上就是简单说明了一下Postman+Newman+Git+Jenkins接口自动化测试的设计与执行。后期有待优化与完善,请各位看官多多指教。
Postman+Newman+Git+Jenkins接口自动化测试的更多相关文章
- Python+Pytest+Allure+Git+Jenkins接口自动化框架
Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...
- ant +jmeter+jenkins接口自动化测试二
[Jmeter篇]Jmeter+Ant+Jenkins接口自动化测试集成之半路逆转(二) 橙子探索测试发表于橙子探索测试订阅 72 [Jmeter篇]jmeter+Ant+Jenkins接口自动化测试 ...
- ant+jmeter+jenkins接口自动化测试一
[Jmeter篇]jmeter+Ant+Jenkins接口自动化测试集成(一) 橙子探索测试发表于橙子探索测试订阅 90 一.简介 1.什么是ant? ant是构建工具,把代码从某个地方拿来,编译,再 ...
- Jmeter+Ant+Jenkins接口自动化测试框架搭建
前言 软件开发的V模型大家都不陌生,其中测试阶段分为单元测试→功能测试→系统测试→验收测试.其中单元测试一般由开发同学们自己完成,大部分测试具体实施(这里不包括用例设计)是从单体功能测试开始着手的. ...
- Jmeter+ant+jenkins接口自动化测试 平台搭建(一)
平台简介 一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成.Jmeter 支持接口的测试,Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可 ...
- jmeter+ant+jenkins接口自动化测试框架
大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件:Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具.将这三者结合起来可以搭建 ...
- Apifox(1)比postman更优秀的接口自动化测试平台
Apifox介绍 Apifox 是 API 文档.API 调试.API Mock.API 自动化测试一体化协作平台,定位 Postman + Swagger + Mock + JMeter.通过一套系 ...
- Jmeter+Ant+Jenkins接口自动化测试(二)_测试方案设计及jmeter脚本开发
前言 根据之前部署好的测试环境,进行接口自动化测试的方案设计及Jmeter脚本开发.测试方案设计过程中采用了数据分离和对象分离等思路,因此直接通过特定的测试用例文档来驱动整个自动化接口测试的执行,相关 ...
- jmeter+ant+jenkins 接口自动化测试持续集成(送源码)
9.1 安装和介绍 JMeter 安装文件路径:https://pan.baidu.com/s/1kVJdnuv. JMeter 是轻量级的开源且稳定的自动化测试工具. 思路:在接口说明文档中整理 ...
随机推荐
- Java 8 CompletableFuture思考
Java 8 CompletableFuture思考 最近一直在用响应式编程写Java代码,用的框架大概上有WebFlux(Spring).R2dbc.Akka...一些响应式的框架. 全都是Java ...
- CSS的基本语法及页面引用
CSS的基本语法及页面引用 CSS基本语法 CSS的定义方法是: 选择器 { 属性:值; 属性:值; 属性:值;} 选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性每个属性有一个或多个 ...
- 微信小程序下拉刷新时有部分区域不随着下拉移动
问题 区域元素使用(position: fixed),小程序页面下拉刷新时,这部分区域不会随页面下拉移动. 如何解决 删除设置的top属性
- 异常: java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener
如果出现这个错误信息,如果你的项目是Maven结构的,那么一般都是你的项目的Maven Dependencies没有添加到项目的编译路径下 解决办法: ①选中项目->右键Properties-& ...
- Code::Blocks无法调试 Starting the debuggee failed: No executable specified, use `target exec'
1.必须建立工程 2.工程名不可有特殊字符或空格,可以有字母.数字.下划线 2.编译器设置里勾选-g(产生调试符号) 3.重新编译项目(如果之前编译过了) 4.调试器设置 > Default & ...
- 【Scala】Actor并发编程实现单机版wordCount
文章目录 对单个文本文件进行单词计数 对多个文本文件进行单词计数 对单个文本文件进行单词计数 import scala.actors.Actor import scala.io.Source //读取 ...
- python --设置Python3 设置为机器默认
echo alias python=python3 >> ~/.bashrc source ~/.bashrc 反之,如果仍然需要Python2.7 ,则改成2.7就行. update : ...
- Java中this()和super()
Java关键字this只能用于方法体中.this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的th ...
- 关于jquery 项目中文件上传还有图片上传功能的尴尬???
做项目需要兼容IE8,所以找了好久,都没找到合适的希望有大神能够解惑!!! 要求是兼容IE8,在选完图片直接自动上传,有进度展示,并有成功的标记,下面的选择文件也是一个input file 选择完自动 ...
- php5.2安装memcached 扩展
需要注意版本号,好坑. libmemcached release 1.0.16 - installed from sourcephp-memcached release 2.1.0 - install ...