JMeter+Ant实现性能测试自动化

发表于:2018-3-02 08:20

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:瑾沐沐    来源:51Testing软件测试网原创

  一、前言
  2017年中旬,有幸接手了公司新产品的测试,领导通知说该项目需要进行功能测试性能测试接口测试,顿时压力倍增(于是我把压力(鸭梨)放在了冰箱里,就变成了动力(冻梨)),此前对性能测试一无所知,了解程度只能用"听过"来形容。
  性能测试首选的工具是JMeter,在此不多做介绍,但是不得不说JMeter也是一款非常好的接口测试工具。性能测试过程中手工重复的活动非常多,为了给客户提供一个性能测试报告,我用了一周时间进行并发测试、数据整理、数据分析、最后生成测试报告,真的是手工重复到怀疑人生;于是萌生了实现性能测试自动化的想法。之前用Robot framework框架做过WEB自动化、安卓端自动化、接口自动化,但是始终未正真明白自动化的意义或是价值,现在突然顿悟,测试工作中最大的痛点就是重复,减少工作中的痛点才是自动化最大的价值。所以自动化的第一步不是选用什么语言或是框架,而是能真正分析出自己工作中的痛点。
  实现性能测试自动化的过程中也参考了许多使用Jmeter生成测试报告的文章,但是都很零散,因此本文是借助前人的智慧再加上自己的创新和实战积累而成的。本文有如下看点:
  1、框架简介、用图形化的方式简介测试框架;
  2、环境搭建、实战步骤,避免踩雷、入坑;
  3、自动生成邮件报告,优化代码同时输出性能测试报告和接口详情报告;
  4、遇到问题汇总,一站解决所有疑问;
  5、代码共享,降低他人的学习成本;
  二、框架介绍
  JMeter+Ant是比较常见的自动化测试框架,因为JMeter、Ant都是由java开发的,所以此性能测试框架具有良好的跨平台性;下图是按自己的理解绘制的自动化框架图:
  大体逻辑如下:
  (1)Ant通过XML文件进行构建,所有的构建信息配置在build.xml文件中,通过调用target树来执行各种任务;如执行测试脚本(jmx文件),输出测试结果(jtl文件);
  (2)Ant通过测试结果(jtl文件)构建生成html测试报告,输出在制定路径下;
  (3)根据build.xml文件中配置的邮件信息,将html测试报告自动发送到制定的邮箱;
  三、环境搭建
  Java安装
  1、Java下载地址:https://www.java.com/zh_CN/
  2、Java 环境变量配置
  (1)设置路径:我的电脑->属性->高级->环境变量;
  (2)在【系统变量】新增JAVA_HOME,变量为JDK的路径;
  (3)PATH中添加 C:\Program Files\Java\jdk1.8.0_05\bin;
  3、检验是否配置成功
  (1)cmd进入命令行,输入:java -version,显示出java 的版本信息即配置成功;
  JMeter安装
  1、JMeter下载地址:http://jmeter.apache.org/download_jmeter.cgi
  2、JMeter 环境变量配置
  (1)设置路径:我的电脑->属性->高级->环境变量:
  (2)在【系统变量】新增JMETER_HOME,变量为jmeter的路径
  (3)PATH中添加 %JMETER_HOME%\bin;
  3、检验是否配置成功
  (1)cmd进入命令行,输入:jmeter -v,显示出JMETER的版本信息即配置成功;
  Ant安装
  1、Ant下载地址:http://ant.apache.org/bindownload.cgi
  2、Ant 环境变量配置
  (1) 设置路径:我的电脑->属性->高级->环境变量:
  (2)在【系统变量】新增ANT_HOME,变量为ANT的路径
  (3)PATH中添加 D:\apache-ant-1.9.9\bin;
  3、检验是否配置成功
  (1)cmd进入命令行输入:ant -version,显示出Ant的版本信息即配置成功;
  四、构建步骤
  1、测试准备
  (1)JMeter脚本按测试计划选中进行保存,如果按线程进行保存,构建时会报错,后面问题汇总模块会提到,例如保存为TestPlan.jmx。
  (2)新增构建文件的文件夹,例如在D盘根目录下新增文件夹"JMeterTest",里面再新增以下文件夹
  (3)修改配置文件:jmeter.properties
  文件路径:%JMETER_HOME%\bin\jmeter.properties
  将jmeter.save.saveservice.output_format=csv改为jmeter.save.saveservice.output_format=xml,去掉前面备注的#号。
  2、Ant构建
  Ant是用xml格式来进行构建的,默认文件名称为build。构建文件的默认地址为%JMETER_HOME%\extras\build.xml,但是为了构建方便,我们将xml文件放在我们自己目录下,并且根据自己的需要自定义构建内容。
  (1)在新增目录D:\JMeterTest\XML下新增build.xml,ant来定义测试活动,具体的内容都在build.xml中进行配置。
  (2)build.xml中构建活动定义完成后,cmd进入命令行,进入build.xml的目录下输入ant,回车执行,如下图提示BUILD SUCCESSFUL即可成功。
  (3)本地目录下 D:\JMeterTest\HTML,可查看到测试报告;查收邮件,附件也收到了HTML测试报告,如下截图:
  (4)本地目录下 D:\JMeterTest\JTL,可看的生成的测试结果文件,可用Jmeter聚合报告的预览进行查看,见截图:
  截止目前,我们已经基本实现了接口测试自动化,如果要实现性能测试自动化,还要对生成测试报告模板的代码进行优化。

相关推荐:《51测试天地—原创测试文章系列(四十八)》
版权声明:本文出自51Testing会员投稿。51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • zaza9084
    2018-3-02 17:30:51

    估计是微信上直接复制过去,因为格式原因,报的错~

  • shenyang_7331
    2018-3-02 17:10:14

    楼主能请教个问题不?我照着你这边的xml写的,然后我构建的时候提示我:
    BUILD FAILED
    F:\JmeterTest\XML\build.xml:21: The following error occurred while executing this line:
    F:\JmeterTest\XML\build.xml:28: taskdef class org.programmerplanet.ant.taskdefs. jmeter.JMeterTask cannot be found
    using the classloader AntClassLoader[]

  • cfgeshen2000
    2018-3-02 13:19:35

    楼主写得非常详细,非常感谢

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号