接口自动化测试框架介绍
测试框架结构:jenkins+git+postman+newman相关概念:Jenkins一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务,可监控并触发持续重复的工作,具有开源、支持多平台和插件扩展、安装简单、界面化管理等特点。更多介绍(https://jenkins.io/)gitGit是一个开源的分布式版本控制系统,用于敏捷高效
测试框架结构:jenkins+git+postman+newman
相关概念:
Jenkins
一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务,可监控并触发持续重复的工作,具有开源、支持多平台和插件扩展、安装简单、界面化管理等特点。更多介绍(https://jenkins.io/)
git
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
postman
一款强大的图形界面接口开发/测试工具,能够生成接口文档,可以使接口开发更简单迅速。
newman
newman是用于执行postman collection的命令行工具,可以让你直接通过命令行的形式来执行postman
collection,它具有可扩展性,可以轻松地将持续集成服务器和构建系统集成在一起。
持续集成
持续集成, 简称CI(continuous integration).
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操作系统的安装包,下载后安装即可。
使用:
newman安装配置
安装:
第一步:安装Node.js
newman是基于Node.js的,如果要运行newman,就必须先安装Node.js。
Node.js官网上有针对Mac、Windows、Linux操作系统的安装包,下载后安装即可。
第二步:安装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 numberBasic 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 runRequest options:
–delay-request [number] Specify a delay (in ms) between requests [number]
–timeout-request [number] Specify a request timeout (in ms) for a requestMisc.:
–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:发送测试报告
构建:
通过触发器触发进行自动构建,或手动触发构建
可以在控制台查看构建日志:
更多推荐
所有评论(0)