学习
实践
活动
专区
工具
TVP
写文章
专栏首页葡萄城控件技术团队Web API 持续集成:PostMan+Newman+Jenkins(图文讲解)

Web API 持续集成:PostMan+Newman+Jenkins(图文讲解)

本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。

上篇文章我们已经完成了API测试工具选型,接下来是一系列周期性的开发测试过程:接口开发、检出代码、运行测试、记录结果、发送报告。为了快速发现问题,并减少重复过程以节省时间、费用和工作量,我们需要一套完整的持续集成解决方案,除接口开发之外其他环节全部自动完成,无需太多的人工干预。

这篇文章将对持续集成解决方案进行一步一步的讲解,希望对大家能有帮助。

1. Web Api 测试工具选型

目前市场有很多的用于API 测试的工具,如Postman, SoapUI, YApi, HttpRunner等等。

在进行了很多的尝试后,我们最终还是决定在Postman和Soap UI间做出抉择,在经过我们详细的对比后:https://www.cnblogs.com/powertoolsteam/p/9772211.html

最终我们选择了Postman。

2. 用Postman创建项目

选型做好了,第二步当然是Postman用起来了,创建自己的项目。参照Postman官网的文档。https://learning.getpostman.com/docs/postman/collections/intro_to_collections/

  • 创建 LeyserkidsApi项目

3. 源码管理

因为我们项目使用TFS做源码管理,这里就以TFS为例。

  • 把Postman中项目LeyserkidsApi的Collection和Envrionment导出为json文件。
  • TFS创建项目LeyserKids,追加Postman导出的JSON文件,进行资源版本管理。接下来展示的项目结构如下:

4. Jenkins服务搭建

我们称搭建Jenkins Server的机器为:机器A,后续步骤需要对这台机器安装一些Services。

5. Jenkins与TFS关联

  • 创建FreeStyle Project :Test
  • 进入Project Test详细页面->Configure->Source Code Management
  • Build Triggers 设置当源码发生变化时,重新构建。可以每天定时构建。

6. Jenkins构建(Build)

Newman是用命令行来执行Postman的Collection。可以很容易的和Jenkins集成。Newman是基于Nodejs的,所以首先得安装Nodejs。

7. 邮件配置

Jenkins构建之后,发送邮件,通知构建结果。邮件配置步骤如下:

  • Jenkins主页->ManageJenkins->Manage Plugins->找到Email Extension Plugin插件并安装->插件安装之后需要重启jenkins 服务
  • Jenkins主页->Manage Jenkins->Configure System-> Extended E-mail Notification, 配置邮件Server
  • 进入Test详细页面->Configure-> Post-build Actions->Add post-build action(Editable-Email Notification)
    •   进入Test详细页面
    •   对Test进行配置
    •   Post-build Actions追加动作:Editable-Email Notification
    •   配置Editable-Email Notification

8. 项目构建

经过以上步骤的配置,构建完成之后,会收到邮件,根据链接在console output查看构建结果,不是很直观。下一步中将进行改善。

9. 更优美的邮件模板

默认的邮件内容过于简单,用Email Extension Plugin 提供的Groovy标准HTML模板:groovy-html.template

  • 进入Test详细页面->Configure-> Editable-Email Notification-> Default Content配置模板
  • 重新Build,查看邮件,邮件内容变的易读行,发送错误红色显示很是醒目。成功则显示为绿色,一目了然。

10. 更简洁精炼,美观的构建报告:Html Report

查看Console Output 中的构建结果,易读性差,而且也不美观,所以我们要改进。用newman生成HTML Report,再通过HTML Publisher插件展示到Jenkins。

  • Jenkins主页->ManageJenkins->Manage Plugins->找到HTML Publisher插件并安装。
  • 进入Test详细页面->Configure-> Execute Windows batch command->command 把导出的index.html放在了当前Job对于的newman文件夹(文件夹会自动创建)下。此路径将在下一步配置中使用。
  • 进入Test详细页面->Configure-> Post-build Actions->Add post-build action(Publish Html report) 配置Html Report ,展示上一个步骤生成的Index.html文件。
  • 重新构建,查看生成的HTML Report,结果如下,是不是好很多
    • 进入Test详细,查看最新Html Report
    • 查看某次构建的Report,选中一个build history,查看HTML Report。
    • Report详细
    • 如果你的Report样式或JS脚本加载不正确,解决方案如下: https://testerhome.com/topics/9476 以上,内容比较多,写的比较粗,欢迎交流。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:http://www.cnblogs.com/powertoolsteam/default.html?page=1复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • (视频+图文)机器学习入门系列-第3章 逻辑回归

    课程门槛较低,只要有本科三年级以上的数学知识,会一种编程语言,就可以掌握这门课程的绝大部分内容。

    黄博的机器学习圈子
  • (视频+图文)机器学习入门系列-第2章 线性回归

    课程门槛较低,只要有本科三年级以上的数学知识,会一种编程语言,就可以掌握这门课程的绝大部分内容。

    黄博的机器学习圈子
  • (视频+图文)机器学习入门系列-第7章 KNN算法

    课程门槛较低,只要有本科三年级以上的数学知识,会一种编程语言,就可以掌握这门课程的绝大部分内容。

    黄博的机器学习圈子
  • (视频+图文)机器学习入门系列-第1章 引言

    课程链接(中国大学慕课,有习题和证书): https://www.icourse163.org/course/WZU-1464096179

    黄博的机器学习圈子
  • (视频+图文)机器学习入门系列-第8章 决策树

    课程门槛较低,只要有本科三年级以上的数学知识,会一种编程语言,就可以掌握这门课程的绝大部分内容。

    黄博的机器学习圈子
  • (视频+图文)机器学习入门系列-第4章 朴素贝叶斯

    课程门槛较低,只要有本科三年级以上的数学知识,会一种编程语言,就可以掌握这门课程的绝大部分内容。

    黄博的机器学习圈子
  • (视频+图文)机器学习入门系列-第6章 机器学习库Scikit-learn

    课程门槛较低,只要有本科三年级以上的数学知识,会一种编程语言,就可以掌握这门课程的绝大部分内容。

    黄博的机器学习圈子
  • (视频+图文)机器学习入门系列-第5章 机器学习实践

    课程门槛较低,只要有本科三年级以上的数学知识,会一种编程语言,就可以掌握这门课程的绝大部分内容。

    黄博的机器学习圈子
  • 测试运维工程师必会技能

    TestOps顾名思义就是测试运维,是在DevTestOps这个概念下抽象的结果,是一个将测试技能真正在生命周期中支撑的关键职业。其测试技能与运维技能都缺一不可...

    TestOps
  • 接口自动化测试Postman+Newman+Jenkins

    Postman可以做接口测试,简单易用很容易上手。但是由于项目的接口越来越多,每次执行都要手动点击,使得执行起来不是很灵活。

    wangmcn
  • 全流程指导,从0开始打造自己的API网关

    API正在逐渐在互联网中占据重要地位,越来越多的应用、网站、数据都将通过API来进行数据传播,API服务化已经是不可阻挡的趋势。 那么,网关能够进行快速开发吗?...

    博文视点Broadview
  • 基于layui的开源yii2cms后台快速搭建框架

    哈喽,大家好,我是PHP学习网站长,一个混迹于互联网,至今仍然在挣扎的程序员,我会持续为大家分享所学技术领域优质开源项目。

    PHP学习网
  • SpringBoot图文教程3—「‘初恋’情结」集成Jsp

    通过前面两篇,小伙伴们已经成功的实现了增删改查,但是,没有页面效果的项目,就像网恋没有奔现的小姐姐一样,安能辨她是雌雄。今天用SpringBoot整合Jsp页面...

    鹿老师的Java笔记
  • SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」

    Excel文件的导入导出功能,在项目中可以说是一个极其常见的功能了,使用到这技术的业务场景也非常多,例如:客户信息的导入导出,运营数据的导入导出,订单数据的导入...

    鹿老师的Java笔记
  • SpringBoot图文教程12—SpringData Jpa的基本使用

    在之前的文章中介绍过了Mybatis,MBG 和 MybatisPlus 等一系列Mybatis相关的技术,有朋友在评论区提到了Jpa,也评论了SpringDa...

    鹿老师的Java笔记
  • 学习 Node.js 一本书就够了【送书】

    每过十天半个月,公众号「Web项目聚集地」就会给大家发福利,福利不限于学习资料、实体书籍。电子工业出版社上新了一本书籍《Node.js实战:使用Egg.js+V...

    用户1093975
  • 掌握体系化知识,从手工测试轻松转岗自动化或测试开发

    不得不说,随着行业的竞争加剧,互联网产品迭代速度越来越快,QA 与测试工程师都需要在越来越短的测试周期内充分保证质量。

    IDO老徐
  • 书单 | “实战派”系列图书再添新成员!学完即知如何实战

    ?点击“博文视点Broadview”,获取更多书讯 “实战派”系列图书再添新成员 看书时,你是否有以下困惑? 一本书看完之后只懂了理论知识,却不知道如何上手实...

    博文视点Broadview
  • 第三十四章:SpringBoot配置类WebMvcConfigurerAdapter

    恒宇少年

扫码关注腾讯云开发者

领取腾讯云代金券