基于jmeter,jenkins,ANT接口,性能测试框架
背景
公司计划推接口和性能测试,搭建这个性能测试框架框架是希望能够让每个人(开发人员、测试人员)都能快速的进行性能,接口测试,而不需要关注性能测试环境搭建过程。因为,往往配置一个性能环境可能需要很长的时间。
该框架搭建 基于Jmeter和Jenkins搭建性能测试框架 和 jenkins+ANT+jmeter 接口测试环境搭建 演化过来。
Jmeter GUI上制定测试计划
Thread Group
用函数__P()设置属性名和默认值的形式设置这三个属性,以方便在使用no-GUI模式启动Jmeter进行测试时,使用–jmeterproperty选项对属性值进行赋值。
CSV Data Set Config

并发数配置

HTTP Request

HTTP Request关联

jenkins调用command non-GUI方式执行Jmeter
set RUNFOLDER=%WORKSPACE%
set JMETERBIN=D:\Devlop\jmeter\apache-jmeter-2.7\bin
set JMETERLIB=D:\Devlop\jmeter\apache-jmeter-2.7\lib
set RESULTJTL=%RUNFOLDER%\result.jtl
set TRANSJTL=$RUNFOLDER\trans.jtl
set EXCELJTL=$RUNFOLDER\execl.jtl
del -f -s -Q %RUNFOLDER%\*.jtl
del -f -s -Q %RUNFOLDER%\Report\* jmeter -n -t jmx\*.jmx -l result.jtl --jmeterproperty threadCount=%CONCURRENCY% --jmeterproperty LoopCount=%LOOPCOUNT% --jmeterproperty RampUp=%RAMPUP% --jmeterproperty jenkins_workspace=%WORKSPACE%
调用ANT生成html报告
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="all" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\Devlop\jmeter\apache-jmeter-2.7" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value=".\" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value=".\Report" />
<!-- 生成的报告的前缀 -->
<property name="ReportName" value="result" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />
<!-- Diffrent version of Jmeter has its own ant-jmeter.jar,Please input the right versioin -->
<path id="ant.jmeter.classpath">
<pathelement location="${jmeter-home}/extras/ant-jmeter-1.1.1.jar" />
</path>
<!-- use this config to generate html report; if not, may not display Min/Max Time in html-->
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan-2.7.1.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer-2.7.1.jar"/>
</path> <target name="report">
<xslt in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}" classpathref="xslt.classpath"
style="${jmeter.home}/extras/jmeter-results-detail-report_30.xsl.xml" />
<xslt in="${jmeter.result.jtlName}"
out="${jmeter.result.html.dir}\TestLog.html" classpathref="xslt.classpath"
style="${jmeter.home}/extras/jmeter-results-shanhe-me.xsl" /> <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>

推送HTML报告

jenkins执行界面
文件jmx和build只需提交默认提供文件
最终使用者只需要使用excel修改csv用例数据就可以进行进口和性能数据的采集

执行结果
执行结果同前面两个方案一致,不再补充
基于jmeter,jenkins,ANT接口,性能测试框架的更多相关文章
- 基于Python的HTTP接口自动化测试框架实现
今天我们来讲一下基于Python的HTTP接口自动化测试框架的实现,范例如下: 一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 e ...
- 基于Jmeter和Testlink的自动化测试框架研究与实施
关于测试框架搭建的详细过程,会在另一篇文章中详细介绍:http://www.cnblogs.com/leeboke/p/6145977.html 摘 要 目前基于Jmeter的接口自动化测试框架,大多 ...
- Jmeter +Jenkins +Ant 集成发送邮件报告
[TOC] 一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系 ...
- JMeter接口测试系列:Jmeter+jenkins+ant 的自动化构建
在JMeter接口测试不断深入的过程中,发现可以和jenkins和ant一起搭配进行自动化的构建.下面是jmeter自动化构建的整理笔记. 准备环境 需要本机上确定安装了jmeter.ant和jenk ...
- jmeter简单的接口性能测试
原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 ...
- 【Jmeter】利用Jmeter+ant+Jenkins 搭建 接口&性能测试 持续集成平台
https://www.jianshu.com/p/6ab73a95d53e https://yq.aliyun.com/articles/664329
- 使用Jmeter进行http接口性能测试
在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具. 但是Postman只能模拟单客户端的单次请求,而对 ...
- 使用Jmeter进行http接口性能测试(转载)
在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具. 但是Postman只能模拟单客户端的单次请求,而对 ...
- jmeter+jenkins+ant部署持续集成测试
原文地址:http://blog.csdn.net/kaluman/article/details/74535495 开头的注意事项: 1.所有的环境变量和代码,都需要使用英文的符号,变量之间都需要英 ...
随机推荐
- JQuery--Ajax 异步操作 动态添加节点 (新人试水,求支持)
异步操作动态添加节点,导致在代码中给添加的节点全局绑定事件或者获取元素无效,上代码: $(function () { var IP = '...'; // 页面中的默认编号起始值 和 公用IP前缀 s ...
- Python的核心数据结构
数据结构 例子 数字 1234,3.1415,3+4j 字符串 'spam'."grace's" 列表 [1,[2,'three'],4] 字典 {'food':'spam','t ...
- jsp中怎么调用java类中的方法
在jsp页面中先要,引入java类 例如: <%@page import="javabean.DbConn"%><!-- 引入包中的"类" - ...
- ionic2新手入门整理,搭建环境,创建demo,打包apk,热更新,优化启动慢等避坑详解
onic官方文档链接:http://ionicframework.com/docs/ 如果是新的环境会有很多坑,主要是有墙,请仔细阅读每个步骤 文档包含以下内容: l 环境搭建 l 创建demo并 ...
- WPF MVVM 架构 Step By Step(1)(介绍)
生命就是我们从孩子开始,经过不断的学习成为成熟的成年人的进化过程.这和软件的架构有着异曲同工之妙,我们从基础的架构开始,随着需求和环境的变化不断的进化. 如果你去问任何一个.net开发者,什么是最基础 ...
- [1] C# IS & AS讲解
c# 中 is和as 操作符是用来进行强制类型转换的 is : 检查一个对象是否兼容于其他指定的类型,并返回一个Bool值,永远不会抛出异常 object o = new object(); if ( ...
- C# 模拟浏览器请求
public string getHtml(string Url, string type = "UTF-8") { try ...
- Angular中使用Swiper不能滑动的解决方法
Swiper是目前较为流行的移动端触摸滑动插件,因为其简单好用易上手,很受很多设计师的欢迎. 今天在使用Swiper的时候遇到这个问题: 使用angularjs动态循环生成swiper-slide类, ...
- TortoiseGit保存密码
TortoiseGit保存密码 方法一:使用Bash命令 1.设置name和emailgit config --global user.name "yilei"git config ...
- CYQ.Data V5 分布式自动化缓存设计介绍(二)
前言: 最近一段时间,开始了<IT连>创业,所以精力和写的文章多数是在分享创业的过程. 而关于本人三大框架CYQ.Data.Aries.Taurus.MVC的相关文章,基本都很少写了. 但 ...
