前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jmeter&Ant构建自动化测试平台

Jmeter&Ant构建自动化测试平台

作者头像
无涯WuYa
发布2018-10-25 16:14:18
7810
发布2018-10-25 16:14:18
举报

JMeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 Apache软件基金会的Stefano Mazzocchi JMeter的最初的开发。他写道:它主要对 Apache JServ

(现在称为如Apache Tomcat项目)的性能进行测试。Apache后来重新设计JMeter 增强的图形用户界面和添加功能测试能力。Jmeter最初使用到性能测试,后来经过修改,可以对软件的不

仅仅进行性能测试,还可以进行接口测试与功能,本文章在这里要详细介绍的就是,使用Jmeter测试一个产品的接口测试,并把Jmeter与ant,Jenkins结合起来,自动化的去执行,并且生成

给予html的测试报告。关于jmeter的其他详细信息,建议看官方的文档,解释的比较详细和权威。

jmeter下载地址为:http://jmeter.apache.org/download_jmeter.cgi,也可以到本人的百度网盘下载,下载地址为:http://pan.baidu.com/s/1kVjgAxx,下载完成后,解压文件,

加压后,到biin目录下,点击jmeter.bat启动jmeter(如果是linux环境,给jmeter.sh可执行的权限,然后执行jmeter.sh就可以启动jmeter),见启动后的界面,见如下的截图:

这里已m.cyw.com为案例,测试网易邮箱登录,弹出的接口,见创建后的项目(这里重点介绍与ant,jenkins的整合,不详细介绍jmeter的使用方法),见创建后的项目计划截图:

下来来看m.cyw.com为案例,跳转到西安市的接口为:http://m.cyw.com/index.php?m=api&c=cookie&a=setcity,请求为post请求,具体见如下postman对该接口的请求截图:

见如上,该接口在postman中调用,返回的json字符串,完善jmeter,见完善后的jmeter截图以及附件:

在jmeter中,点击run,可以看到执行的结果,见截图:

依据结果中,可以看到执行的结果,是通过的,下来把jmeter与ant进行整合,实现自动化的执行,而不是每次执行,得打开jmeter的界面,点击run去执行,ant的下载地址为:

http://ant.apache.org/,下载后,在环境变量中配置ant,新建ANT_HOME,见截图:

然后在path环境变量中加入%ANT_HOME%\bin,配置完成后,打开cmd命令提示符,输入ant -v ,出现如下截图,说明ant环境配置OK,见截图:

想要实现jmeter使用ant去执行,需要做如下几个操作:

1、修改jmeter配置文件jmeter.properties,把jmeter.save.saveservice.output_format=csv修改为jmeter.save.saveservice.output_format=xml,并

不要注释,见截图:

2、在jmeter的extras目录下,把ant-jmeter-1.1.1.jar文件复制到ant的lib目录下,见截图;

3、在jmeter当前目录下创建TestCase文件夹,并把wap.jmx复制到TestCase目录下,见截图:

4、编写build.xml文件,ant执行时候,会使用到该文件,见build.xml文件的源码:

<?xml version="1.0" encoding="UTF8"?> <project name="Jmeter-TestCase" default="run" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp>

<!--jmeter的目录--> <property name="jmeter.home" value="D:\git\cyw\cyw_jmeter\apache-jmeter-2.12" /> <property name="jmeter.result.jtl.dir" value="D:\git\cyw\cyw_jmeter\apache-jmeter-2.12\TestCaset\report\jtl" /> <property name="jmeter.result.html.dir" value="Q:\tools\apache-jmeter\test\report\html" />

<property name="ReportName" value="TestReport" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" /> <target name="run"> <antcall target="test" /> <antcall target="report" /> </target> <target name="test"> <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <testplans dir="D:\git\cyw\cyw_jmeter\apache-jmeter-2.12\TestCase" includes="wap.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeter> </target>

<target name="report"> <xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}"

<!--jmeter的xml模板--> style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" /> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project>

5、到D:\git\cyw\cyw_jmeter\apache-jmeter-2.12\TestCase目录下,执行ant命令,就会执行接口测试用例,生成给予html的测试报告,见ant执行的命令:

从命令行中,可以看到执行已成功,到Report目录下,可以看到生成的html与jtl,到html目录下,可以看到html的报告,见截图:

打开html,可以看到详细的执行结果,见截图:

OK,已生成想要的结果报告,特别说明,apache-jmeter-2.12\extras目录下的xml文件可以自定义,你看到的html报告可能和我截图的不一致,不过,你也可以根据自己的爱好修改xml文件。

Jenkins是一个持续集成的工具,下载地址为:https://jenkins.io/index.html,下载后,把jenkins.war放到tomcat的webapps目录下,启动tomcat,在浏览器访问http://localhost:8080/jenkins

新创建工程,可以把jmeter,ant,jenkins结合起来,实现接口自动化或者性能测试的自动化测试平台,见jenkins截图:

在Jenkins点击立即构建,就可以执行了。

OK,基本就介绍到这,如有任何疑问,可扫描关注本人的微信公众平台,或者加入本人的qq群,一起讨论,共同进步,也可看本人写的百度阅读写的自动化测试电子书,地址:http://yuedu.baidu.com/ebook/3c0077aaa32d7375a41780bb

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档