• 15
  • 15
分享
  • 接口自动化测试框架介绍——软件测试圈
  • 饭团🍙 2021-09-27 13:39:55 字数 3445 阅读 2468 收藏 15

测试框架结构: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.jpg

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

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版本号即说明安装成功

2.jpg

使用:

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

newman run -h

3.jpg

常用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

示例:

4.jpg

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,点击右上角的“新建任务”可以新建一个任务

新建任务:

5.jpg

然后,建立任务界面输入任务名称,选择要创建的任务风格,一般为自由风格的软件项目:

6.jpg

进入任务配置,分为:General、源码管理、构建触发器、构建环境、构建、构建后操作几部分

7.jpg

源码管理:

在配置页中,源码管理选择Git,填入地址,并指定需要监控的分支,如果需要口令,在Credentials中添加用户名/口令,或者使用SSH Key。

8.jpg

构建触发器:

构建触发器指定了触发一次构建的条件。推荐使用最简单的配置“Poll SCM”,它的意思是,定时检查版本库,发现有新的提交就触发构建。这种方式对git、SVN等所有版本管理系统都是通用的。

构建远程触发器:本地生成身份验证令牌,如“bf0e6550a7171ae7b86f49e6”,将“JENKINS_URL/job/mimir-test/build?token=TOKEN_NAME”配置在git的相应的任务中

9.jpg

Poll SCM:设置日程表,如“H/2 * * * *”,每两分钟检测一下源码是否有变化,有变化则触发自动构建

10.jpg

构建:

通过shell脚本来进行构建,执行测试脚本、生成测试报告

11.jpg

构建后:

Publish HTML reports:在jenkins任务界面中配置html报告

12.jpg

Editable Email Notification:发送测试报告

13.jpg

构建:

通过触发器触发进行自动构建,或手动触发构建

14.jpg

可以在控制台查看构建日志:

15.jpg


作者:芭蕉桑_7

原文链接:https://blog.csdn.net/bajiaosang_7/article/details/78961774

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   美国国家航空航天局(NASA)局长比尔-纳尔逊(Bill Nelson)分享了该局将继续与波音公司合作执行前往国际空间站(ISS)的乘员任务的四个关键原因,尽管波音公司的Starliner飞船出现了推进器问题。这些问题迫使美国国家航空航天局(NASA)谨慎行事,决定在明年二月用 SpaceX 的"载人"龙""(Crew Dragon)飞船运送乘员返回,这意味着两名乘员将继续在国际空间站生活半年多。  纳尔逊局长在昨天的媒体电话会议上分享了原因,宣布了美国国家航空航天局的决定。他说,需要有两个不同的航天器来运送宇航员,以及美国国家航空航天局与波音公司的...
            0 0 402
            分享
          • “时间”在很多应用中都会涉及,例如:时间范围选择器,时间输入框,日期计算器等等。那么针对“时间”这类功能的测试要点你又知道多少呢?今天我们来聊聊关于“时间”的测试要点。一、场景:时间范围选择器如下图所示,为某个时间范围选择器,针对时间范围选择器的测试要点有以下几点。图1 某个时间范围选择器不考虑业务逻辑,单纯从时间选择器的角度出发,可以测试以下几个方面:1.同时选择选择:起始时间 = 结束时间选择:起始时间 > 结束时间选择:起始时间 < 结束时间2.单独选择选择:起始时间选择:结束时间3.不选择不选择任何时间。从业务层面出发,还可以从时间点角度进行测试。如:起始时间 < 当...
            0 1 4022
            分享
          • 我从一个一窍不通的测试小白,摸爬滚打到今天,在公司担任测试组长,管理公司的测试组,总觉得软件测试人员不容易。但是,还是对软件测试这个行业满腔热血(至少目前是)。这几年来,跳的坑实在不少,有些也是自己挖。今天就来谈谈我的一些经验总结。从测试小白到测试组长,谈谈我的测试过程及管理经验总结一、测试过程的经验总结:1、测试过程中遇到严重的问题,除了登记在bug管理系统,也要反馈给领导。为什么要反馈给领导?因为很多事情就算是让你背锅,你也背不起的,反馈给领导,领导会帮忙监督开发并给出意见。特别是紧急项目,不要在测试完的时候才给领导反馈,在测试过程就可以反馈了。2、保管好自己的测试机子,不要轻易让软件开发...
            0 0 1152
            分享
          •   什么是软件测试?  正向思维:验证程序是否正常运行,以及是否达到了用户预期的需求。  逆向思维:通过执行测试用例发现程序的错误和缺陷。  关键字:正常运行、用户需求、发现错误。  软件测试的目的是什么?  找出软件中潜在的错误和缺陷,通过修复错误和缺陷提高软件的质量,回避软件发布后因缺陷或错误带来的商业风险。  关键字:发现错误、提高质量、避免风险。  黑盒、白盒的区别  黑盒测试(数据驱动测试、功能测试):不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。  白盒测试(逻辑驱动测试、结构测试):已知产品的内部工作过程,可以通过测试证明每种...
            0 0 649
            分享
          • 每个开发都不想写文档。当你不想写接口文档时,可以通过安装插件在 IDEA 里实现自动同步,一边写代码一边同步接口文档给你的前端、测试同学。以下内容手把手教你怎么操作(这里仅面向使用 IDEA 编辑器、遵循 Java Spring 框架注释规范的同学):首先,你需要安装一个插件IDEA 插件市场里搜索 「Apifox Helper」,这是国内一个做 API 协作管理平台的厂商(Apifox)做的插件,可以非常方便自动生成接口文档并且同步到你的项目中。这个插件可以实现代码零入侵自动生产接口文档。IDEA 安装插件:打开 IDEA > Preferences(Settings) > Pl...
            0 0 2057
            分享
      • 51testing软件测试圈微信