一、前言
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聚合报告的预览进行查看,见截图:
截止目前,我们已经基本实现了接口测试自动化,如果要实现性能测试自动化,还要对生成测试报告模板的代码进行优化。
版权声明:本文出自51Testing会员投稿。51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。