关于Jmeter+Ant+Jenkins作为接口、性能自动化框架的误区
说明:Apach-Jmeter有完善的桌面客户端,关联数据的处方方式,各种参数化的方式,各种Jar包的扩展,也可以用作抓包工具使用,当然最重要的是它是【开源!开源!开源!】,重要的事说三遍,目前也有基于maven方式的构建方式,Jmeter在保证了其全面性的基础上,又完善了其使用上的便捷性,必须给它打满分。
如题:
Jmeter+Ant+Jenkins用作接口自动化测试框架甚至UI自动化测试框架的确十分优秀,各种参数化,正则,断言,数据存储,通过Ant构建还可以将其.jtl结果文件转换成HTML文件,通过Jenkins完整的展现在Web页面上,各种性能指标,每个接口的详情都十分清晰的展现在页面上,当然这只是基于.jtl文件小于50M的情况。(如果将这50M文件转换成HTML文件也需要3个小时左右),但现实是,你既然要做性能自动化,那么你产生的.jtl文件就不是50M这么点了,结合我的实际经验,每次产生的.jtl文件都在500M以上,转换成HTML文件是不可能的,你的PC已经没有足够的内存去处理了,就会造成Jenkins或者Ant处于假死的状态,你是拿不到HTML文件的,.jtl文件给领导他们看得了吗,答案是不能!
重点来了,选取Jmeter+Ant+Jenkins做接口自动化与性能自动化时要区别对待,你要仔细分析你的实际需求,接口自动化是细分到每个接口都要看到详情明细,所以你的测试结果必须清晰,这里你就有必要将.jtl文件转换成HTML文件。性能自动化,我们关注的响应时间、吞吐量、请求的成功率、Cpu、内存等性能指标,关注的重点是高并发下服务端运行的稳定性,关注的是服务端的概况,这里我们就没必要关注每个接口的详情了,产生的.jtl结果文件也是很大的,我们没必要将其转换成HTML文件,Jenkins有一个性能分析的插件 Performance Plugin ,使用它将本次性能测试的核心性能指标转换在Jenkins页面上即可,速度相当快,至于具体的错误分析,详细的接口信息就需要自己打开Jmeter客户端去仔细分析了,这里性能测试是做不到完全自动化的,当然我能力有限,能做到的只有这些。
当然Jmeter+Ant+Jenkins用作自动化框架时你可以随意切换测试模式,想做性能自动化就把Ant的build.xml文件转换.jtl的相关配置注释掉,想做接口自动化就把转换.jtl的相关配置放开。
附build.xml文件内容。
<?xml version="1.0" encoding="UTF8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的jmeter目录-->
<property name="jmeter.home" value="D:\jmeter\apache-jmeter-3.2" />
<!-- jmeter生成的jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\jmeter\云诊所核心性能场景\report\jtl" />
<!-- jmeter生成的html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\jmeter\云诊所核心性能场景\report\html" />
<!-- ?生成的报告的前缀-->
<property name="ReportName" value="TestReport" />
<!--property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /-->
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
<!--property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" /-->
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.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}">
<!-- 声明要运行的脚本“*.jmx”指包含此目录下的所有jmeter脚本-->
<testplans dir="D:\jmeter\云诊所核心性能场景" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<!--接口自动化时开启下方配置,做性能自动化时生成的jtl文件过大,会导致ant假死-->
<!--path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path-->
<!--target name="report">
<tstamp>
<format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" />
</tstamp>
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
<param name="dateReport" expression="${report.datestamp}"/>
</xslt-->
<!-- 拷贝报告所需的图片资源至目标目录 -->
<!--copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target-->
</project>
关于Jmeter+Ant+Jenkins作为接口、性能自动化框架的误区的更多相关文章
- 七、Jmeter + ant + jenkins轻量级接口自动化测试
七.Jmeter + ant + jenkins轻量级接口自动化测试 杀猪不用牛刀,工具没有牛逼高大尚之分,每个工具都有存在的理由:关键是看会不会用,怎么用,有没有用在合适的地方. 需要安装的工具: ...
- Jmeter+Ant+Jenkins构建接口自动化测试平台(Windows)
一.首先先介绍下我的环境: 1. win10系统 2. ant版本:apache-ant-1.10.1(作用:执行脚本,便于后期的持续集成,下载地址:http://ant.apache.org/bin ...
- jmeter+ant+jenkins搭建接口自动化测试环境
jmeter+ant+jenkins搭建接口自动化测试环境(基于win) 1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmete ...
- 基于jmeter和shell的接口性能自动化
基于jmeter和shell的接口性能自动化 1. 总体需求 由于性能测试中涉及的查询接口多,版本迭代频繁,版本更新后自动跑一轮查询业务的性能,可以及时发现一些开发修复bug触发的非预期的bug,利用 ...
- Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因
Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因:接口响应数据中有&#
- Jmeter+ant+Jenkins实现接口自动化平台及报告发送
项目中实现了比较方便的自动化体系,一直没时间总结一下,现抽空整理一番,废话不多说 内容如下: 一.环境准备 jmeter : 编写接口脚本,实现接口测试 ant :静默执行jmeter脚本,并生 ...
- 使用jmeter+ant+jenkins实现接口自动化测试
摘自:https://blog.51cto.com/6183574/2318519 本次使用linux环境搭建自动化框架 一.配置ANT 首先下载Ant压缩包,下载地址:http://ant.apac ...
- Jmeter+Ant+Jenkins实现接口自动化(转载)
转载自 http://www.cnblogs.com/chengtch/p/6145867.html 本文转载于上面的网址,稍作修改,实用性更强. Jmeter是压力测试.接口测试工具,Ant是基于 ...
- 基于 jmeter 和 shell 的接口性能自动化
jmeter+shell 1. 总体需求 由于性能测试中涉及的查询接口多,版本迭代频繁,版本更新后自动跑一轮查询业务的性能,可以及时发现一些开发修复bug触发的非预期的bug,利用晚上时间快速重测性能 ...
随机推荐
- [MVC] 自定义ActionSelector,根据参数选择Action[转载]
很多时候我们会根据UI传入的参数,呈现不同的View.也就是对于同一个Action如何根据请求数据返回不同的View.通常情况下我们会按照如下方法来写,例如: [AcceptVerbs(HttpVer ...
- Spring Boot起步依赖:定制starter
在定制我们自己的起步依赖--xxx.spring.boot.starter之前,我们先了解下什么是Spring Boot起步依赖. 起步依赖,是Spring Boot带给我们的一项重要的便利.要理解S ...
- Kafka 基本知识分享
目录 一.基本术语 二.Kafka 基本命令 三.易混淆概念 四.Kafka的特性 五.Kafka的使用场景 六.Kakfa 的设计思想 七.Kafka 配置文件设置 八.新消费者 九.Kafka该怎 ...
- machine learning(10) -- classification:logistic regression cost function 和 使用 gradient descent to minimize cost function
logistic regression cost function(single example) 图像分布 logistic regression cost function(m examples) ...
- qsort中的函数指针,及函数解释
函数指针有何用 函数指针的应用场景比较多,以库函数qsort排序函数为例,它的原型如下: void qsort(void *base,size_t nmemb,size_t size , int(*c ...
- 怎么才能零基础彻底学会Java
21世纪进入信息时代,信息科技给人类的生产和生活方式带来了深刻的变革,信息产业已成为推动国家经济发展的主导产业之一,Java编程语言作为含金量极高的一门IT技术,很多人希望从事这个行业,那么想学好Ja ...
- AcWing P165 小猫爬山 题解
Analysis 这道题是搜索,类似于小木棍,加一些剪枝. 第一个剪枝是如果当前的答案已经大于了我们已知的最小答案,不用说直接return返回即可. 第二个剪枝是我们可以将小猫的体重从大到小排序,这样 ...
- ueditor从word粘贴公式
官网地址http://ueditor.baidu.com Git 地址 https://github.com/fex-team/ueditor 参考博客地址 http://blog.ncmem.com ...
- dumpe/dumpe2fs/e2fsck
xt2/3/4文件系统备份工具 导出ext2/ext3/ext4文件系统信息 dumpe2fs e2fsck 强制检查文件系统 检查文件系统
- Best free and public DNS servers of 2019
1. OpenDNSPrimary, secondary DNS servers: 208.67.222.222 and 208.67.220.220 2. CloudflarePrimary, se ...