测试框架结构:jenkins+git+postman+newman

相关概念:

Jenkins

一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务,可监控并触发持续重复的工作,具有开源、支持多平台和插件扩展、安装简单、界面化管理等特点。更多介绍(https://jenkins.io/)

git

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

postman

一款强大的图形界面接口开发/测试工具,能够生成接口文档,可以使接口开发更简单迅速。

newman

newman是用于执行postman collection的命令行工具,可以让你直接通过命令行的形式来执行postman
collection,它具有可扩展性,可以轻松地将持续集成服务器和构建系统集成在一起。

持续集成

持续集成, 简称CI(continuous integration).
CI作为敏捷开发重要的一步,其目的在于让产品快速迭代的同时,尽可能保持高质量.
CI一种可以增加项目可见性,降低项目失败风险的开发实践。其每一次代码更新,都要通过自动化测试来检测代码和功能的正确性,只有通过自动测试的代码才能进行后续的交付和部署.
CI使团队成员间(产/研/测)更好地协调工作,更好的适应敏捷迭代开发,自动完成减少人工干预,保证每个时间点上团队成员提交的代码都能成功集成的,可以很好的用于项目的打包.

系统关系

图示

CI系统图示

系统的工作流程大概分为以下几步:

1> 开发者将新版本push到git server 。
2> git随后触发jenkins进行一次build。(通过web hook或者定时检测)
3> jenkins master结点将这个build任务分配给若干个注册的slave结点中的一个,
4>这个slave结点根据一个事先设置好的脚本进行build。这个脚本可以做的事情很多,比如编译,测试,生成测试报告等等(我们要做的就是执行测试、生成测试报告)。这些原本需要手动完成的任务都可以交给jenkins来做。
5> 将构建结果返回给开发者/测试者
notes:jenkins的工作原理是先将源代码从gitlab中拷贝一份到本地,然后根据设置的脚本进行build。我们可以看出,整个系统的关键就是那个build脚本,用来告诉jenkins在一次集成中需要执行的任务。

安装配置

postman安装配置

安装:

postman官网上有针对Mac、Windows、Linux操作系统的安装包,下载后安装即可。

官网地址:https://www.getpostman.com/

使用:

帖子:http://www.testtao.cn/?p=4636

newman安装配置

安装:

第一步:安装Node.js

newman是基于Node.js的,如果要运行newman,就必须先安装Node.js。
Node.js官网上有针对Mac、Windows、Linux操作系统的安装包,下载后安装即可。

官网地址:https://nodejs.org/en/download/

第二步:安装newman

npm install -g newman

第三步:验证
在终端或cmd窗口输入 newman -version,出现newman版本号即说明安装成功

这里写图片描述

使用:

newman提供一系列的命令来定制执行,可以通过-h命令来获取常用的命令

newman run -h

这里写图片描述

常用Options:

-h, –help output usage information
-v, –version output the version number

Basic setup:
–folder [folderName] Specify a single folder to run from a collection.
-e, –environment [file|URL] Specify a Postman environment as a JSON [file]
-d, –data [file] Specify a data file to use either json or csv
-g, –global [file] Specify a Postman globals file as JSON [file]
-n, –iteration-count [number] Define the number of iterations to run

Request options:
–delay-request [number] Specify a delay (in ms) between requests [number]
–timeout-request [number] Specify a request timeout (in ms) for a request

Misc.:
–bail Stops the runner when a test case fails
–silent Disable terminal output
–no-color Disable colored output
-k, –insecure Disable strict ssl
-x, –suppress-exit-code Continue running tests even after a failure, but exit with code=0
–ignore-redirects Disable automatic following of 3XX responses

示例:
这里写图片描述

jenkins安装配置

安装及启动:

jenkins官网上有详细的介绍:https://jenkins.io/doc/book/installing/,可以通过docker或者war包的方式来安装运行jenkins,这里介绍下war包的方式。

1、从http://mirrors.jenkins-ci.org/war/latest/jenkins.war 下载最新的war包到本地;
2、进入jenkins的路径下,打开终端或cmd窗口运行命令java -jar jenkins.war 来启动jenkins;
3、启动过程中,它会将war包解压到~/.jenkins目录下,并生成一些目录及配置文件;
4、打开浏览器输入http://localhost:8080 即可进入jenkins
注:
1、jenkins本身是用java语言开发的,所以安装jenkins的机器至少要有jdk;
2、运行时可以通过–httpPort=XXX指定端口号:java -jar jenkins.war --httpPort=49001

创建任务:

第一次进入jenkins时,会设置管理员用户,设置完成之后登陆jenkins,点击右上角的“新建任务”可以新建一个任务
新建任务:
这里写图片描述
然后,建立任务界面输入任务名称,选择要创建的任务风格,一般为自由风格的软件项目:
这里写图片描述
进入任务配置,分为:General、源码管理、构建触发器、构建环境、构建、构建后操作几部分
界面
源码管理:
在配置页中,源码管理选择Git,填入地址,并指定需要监控的分支,如果需要口令,在Credentials中添加用户名/口令,或者使用SSH Key。
源码管理
构建触发器:
构建触发器指定了触发一次构建的条件。推荐使用最简单的配置“Poll SCM”,它的意思是,定时检查版本库,发现有新的提交就触发构建。这种方式对git、SVN等所有版本管理系统都是通用的。
构建远程触发器:本地生成身份验证令牌,如“bf0e6550a7171ae7b86f49e6”,将“JENKINS_URL/job/mimir-test/build?token=TOKEN_NAME”配置在git的相应的任务中
这里写图片描述
Poll SCM:设置日程表,如“H/2 * * * *”,每两分钟检测一下源码是否有变化,有变化则触发自动构建
这里写图片描述
构建:
通过shell脚本来进行构建,执行测试脚本、生成测试报告
这里写图片描述
构建后:
Publish HTML reports:在jenkins任务界面中配置html报告
这里写图片描述
Editable Email Notification:发送测试报告
这里写图片描述

构建:

通过触发器触发进行自动构建,或手动触发构建
这里写图片描述
可以在控制台查看构建日志:
这里写图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐