设为首页 收藏本站
查看: 898|回复: 0

[经验分享] jenkins+ant+jmeter搭建持续集成的接口测试平台

[复制链接]

尚未签到

发表于 2018-9-4 11:16:17 | 显示全部楼层 |阅读模式
  一、什么是接口测试?
  接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
  接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。
  接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比,接口测试天生为高复杂性的平台带来高效的缺陷监测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果越明显。
  基于接口测试的重要性,以及它比较容易自动化的特性,通过持续集成的接口监控能够及时的发现项目中存在的问题,这对持续运营的项目来说,非常重要。
  二、接口测试的流程
  1、 项目启动后,测试人员要尽早找到开发人员拿到接口测试文档
  2、 获取接口测试文档后,就可以进行接口用例的编写和调试
  3、 接口用例编写调试完成后,部署到持续集成的测试环境中,
  4、 设定脚本运行频率,告警方式等基本参数,进行接口的日常监控
  5、 每日进行接口脚本的维护更新,接口异常的处理
  三、编写接口测试脚本
  大部分性能工具都可以用来进行接口测试,jmeter就是一个好用的性能测试工具,他也同样可以用来进行接口测试,jmeter比较适用于CGI、webservice、DB等类型的接口测试。下面以websevice api接口为例说明如何编写接口测试用例(本文侧重于接口测试平台的搭建,对于具体工具是使用只进行简单介绍,对于工具不了解的,可以自行百度):
  jimter接口脚本的编写步骤如下:
  1、 编写接口请求
  通过录制或者查看接口文档,编写接口请求,进行调试,确保接口调试通过
  对于http的请求来说,就是正确的填写域名,查询字符串,查询参数等信息

  2、 对接口的返回结果进行断言
  断言的目的是对输出结果进行判断,确认接口测试结果是否有异常

  这些工作完成后,接口测试脚本就准备好了
  四、生成接口测试报告
  接口测试脚本运行后生成的是JTL(xml)格式的文件,这些文件不具备可读性,因此我们要把他转化为可以阅读的html格式报告。
  转化的步骤如下:
  1、 安装ant工具
  Ant是一个功能强大的打包编译工具。我们使用他的目的是将xml文件转化为html格式的文件
  2、 找到jmeter自带的xsl文件
  Xml文件要转化为html文件,需要编写xsl文件,实际上,jmeter已经自带了xsl文件,如果你不想自己定义格式的话,可以直接使用自带的格式,这样可以省不少事情。这些文件的位置位于jmeter的extras文件夹下,只需要简单修改一些文件路径配置就可以正常使用。
  3、 编写ant的buildfile文件
  Ant自带了把XML转化为html的lib库,因此,这个转化也是相当简单的,示例如下:
  
  
  
  
  
  
  
  
  完整的buildfile文件,请自行百度
  4、 运行ant命令,生成html文件
  Cmd运行ant –buildfile xsl文件,你就可以生成html报告了

  生成的测试报告如下:

  五、部署到持续集成平台
  部署到持续集成平台可以实现脚本的定时运行,这是接口测试的核心。
  这里我们选用了jenkins,,jenkins是一个强大的持续集成系统,使用起来也很简单。
  使用步骤如下:
  1、 安装jenkins
  Jenkins的安装是非常简单的
  注意:请将jenkins安装到一个空间比较大的系统盘中。因为jenkins运行起来,生成的文件比较占空间。
  2、 安装完成后,配置一个项目

  3、 配置item参数

  旧的构建保存了你在一次构建中的所有临时文件,如果构建没有保留的必要,就勾选丢弃旧的构建,同时设置保持构建天使和保持构建的最大个数两个参数。
  注意:三个设置必须同时设置,否则无效
  4、 设置定时运行间隔,这里,设置间隔时间为10分钟运行一次

  5、设置invoke ant
  通过设置invoke ant,就可以调用ant,执行打包过程。在这里,也就是执行生成测试报告的步骤

  通过以上步骤,我们就成功搭建了一个简单的持续集成的接口测试平台,当然,你也可以根据自己的需要添加其他更强大的功能
  原文发表于http://www.cnblogs.com/reach296/


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-562420-1-1.html 上篇帖子: jenkins中Check-out Strategy的各选项测试 下篇帖子: Mac Jenkins 修改端口
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表