当前位置: 首页 > news >正文

性能测试:Jenkins+Ant+Jmeter自动化框架的搭建方法

前言

前面讲了Jmeter在性能测试中的应用及扩展。随着测试的深入,我们发现在性能测试中也会遇到不少的重复工作。 比如某新兴业务处于上升阶段,需要在每个版本中,对某些新增接口进行性能测试,有时还需要在一天中的不同时段分别进行性能测试,如果一味地采取手动触发的方式,当接口数较多时,就会出现大量重复工作。 这个时候我们应该思考,是否有一种方法,可以定时、批量运行已经设计好的Jmeter脚本,并自动输出测试报告。下面就结合Jenkins+Ant+Jmeter,介绍一种性能测试自动化框架的搭建方法。

自动化框架的搭建思路

思路: Jmeter可以做接口测试,也能做压力测试,而且是开源软件; Ant是基于Java的构建工具,可以跨平台; Jenkins是持续集成工具。 将这三者结合起来可以搭建一套Web HTTP接口性能测试的持续构建环境,实现性能测试自动化。

搭建步骤:

1、在Jmeter主机上安装Ant,Ant用来构建,构建Jmeter的执行、报告的生成等任务;

2、通过Jenkins进行调度Ant,构建测试。测试执行完成后,再通过Jenkins调用Ant生成报告。 下面将分别介绍这两个步骤。

同时,在这我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

字节内部员工性能测试培训课程,一周学完,学完即入职,B站唯一,全程高能!

JMeter+Ant集成

1、引入Apache Ant Apache Ant是由Apache软件基金会提供的一个将软件编译、测试、部署等步骤联系在一起的自动化工具,由Java语言开发,所以支持跨平台。

2、Apache Ant的特点

  • Ant 是最完整的基于 Java 语言开发的构建和部署工具;
  • Apache Ant构建是通过XML文件来定义的,Ant通过解析这个XML文件,调用target树来执行各种任务;
  • Ant 擅长自动完成重复任务;

3、Apache Ant构建测试计划 Apache Ant的安装及环境配置大家可自行Google,在此不赘述。构建方法如下。

步骤一: 构建Jmeter测试计划。

步骤二: 将/apache-jmeter-5.1.1/extras目录下的ant-jmeter-1.1.1.jar文件copy到Ant所在/apache-ant-1.9.14/lib目录下。

步骤三: 修改Jmeter的配置文件。

(1)修改原因:

Jmeter执行结果文件默认保存的不是xml格式,无法转化成html格式;
Jmeter执行结果文件中很多数据不保存,但是我们需要在测试报告中体现;

(2)配置文件路径: /apache-jmeter-5.1.1/bin/jmeter.properties

(3)修改方法如下图所示:

步骤四: 修改Ant中的配置文件build.xml。 Ant采用xml格式建立构建文件,默认名称是build.xml。原始的build.xml文件路径为:/apache-jmeter-5.1.1/extras。 修改完成,将build.xml文件与Jmeter脚本放在同一个路径下面。 修改方法如下: 

4、批量执行Jmeter脚本 进入jmx脚本目录,执行Ant。进入reports目录查看生成的测试报告:

Jenkins+Ant

1、搭建Jenkins Jenkins的安装及配置可自行Google。下面步骤为Jenkins调度Ant进行构建的方法。

步骤一: 下载所需插件。例如:Performance plugin、HTML Publisher plugin、Ant Plugin 等。

步骤二: 配置中添加Jmeter插件:Performance plugin、HTML Publisher plugin。 功能:展示Jmeter执行结果。

步骤三: 配置中 添加 Ant插件:Ant Plugin。 功能:用来执行Ant

2、修改build.xml文件 修改build.xml文件生成jtl和html文件的目录到Jenkins的工作目录下

3、项目构建 配置好上述文件及目录,点击立即构建,就可以调用Ant自动执行Jmeter脚本了

性能测试结果

进入html目录查看生成的测试报告。可以看到,报告中给出了样本数、错误率、最大和最小响应时间,并给出出错请求的具体情况,对于接口的性能有一个大概的了解。 

总结

当然,目前使用的报告模板中不包含QPS,且性能结果图表较少,可以通过修改build.xml文件扩展输出报告的内容及格式。同时,可以在Jenkins中配置定时自动执行及报告的邮件自动发送,大大扩展的工具。

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

http://www.lryc.cn/news/228155.html

相关文章:

  • 【开源项目】snakeflow流程引擎研究
  • 11.10 知识总结(数据的增删改查、如何创建表关系、Django框架的请求生命周期流程图)
  • AI脑控机器人应用前景如何?
  • Apache和Nginx实现虚拟主机的3种方式
  • 【DP】背包问题全解
  • 04 jenkins中使用各种变量(Powershell、cmd)
  • 2023年云计算的发展趋势
  • 工作十年+的测试应该具备什么能力?
  • 区块链链游合约系统开发项目模式技术方案
  • 业务出海之服务器探秘
  • 飞天使-django创建一个初始项目过程
  • 【工具插件类教学】全局积雪系统和雪痕迹显示(移动痕迹)
  • ​软考-高级-系统架构设计师教程(清华第2版)【第3章 信息系统基础知识(p120~159)-思维导图】​
  • STM32基础--NVIC中断控制器
  • 使用matlab实现图像信号的色彩空间转换
  • Vatee万腾科技决策力的引领创新:Vatee数字化视野的崭新天地
  • Go语言安装教程
  • MVVM框架:图片加载有问题
  • 一篇文章搞明白js运行机制——事件循环
  • Leetcode 第 371 场周赛题解
  • keras转onnx,TensorFlow转tf.keras.models.load_model,onnx精度转换
  • 高可用架构设计
  • qemu 之 uboot、linux 启动
  • C语言--每日五道选择题--Day8
  • Outlook如何删除邮箱账户
  • ultrascale+mpsoc系列的ZYNQ中DDR4参数设置说明
  • maven-六类属性
  • 微服务概念
  • 响应式摄影科技传媒网站模板源码带后台
  • 探索C#事件(Event)的强大应用