背景

公司计划推接口和性能测试,搭建这个性能测试框架框架是希望能够让每个人(开发人员、测试人员)都能快速的进行性能,接口测试,而不需要关注性能测试环境搭建过程。因为,往往配置一个性能环境可能需要很长的时间。

该框架搭建 基于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接口,性能测试框架的更多相关文章

  1. 基于Python的HTTP接口自动化测试框架实现

    今天我们来讲一下基于Python的HTTP接口自动化测试框架的实现,范例如下: 一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 e ...

  2. 基于Jmeter和Testlink的自动化测试框架研究与实施

    关于测试框架搭建的详细过程,会在另一篇文章中详细介绍:http://www.cnblogs.com/leeboke/p/6145977.html 摘 要 目前基于Jmeter的接口自动化测试框架,大多 ...

  3. Jmeter +Jenkins +Ant 集成发送邮件报告

    [TOC] 一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系 ...

  4. JMeter接口测试系列:Jmeter+jenkins+ant 的自动化构建

    在JMeter接口测试不断深入的过程中,发现可以和jenkins和ant一起搭配进行自动化的构建.下面是jmeter自动化构建的整理笔记. 准备环境 需要本机上确定安装了jmeter.ant和jenk ...

  5. jmeter简单的接口性能测试

    原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 ...

  6. 【Jmeter】利用Jmeter+ant+Jenkins 搭建 接口&性能测试 持续集成平台

    https://www.jianshu.com/p/6ab73a95d53e https://yq.aliyun.com/articles/664329

  7. 使用Jmeter进行http接口性能测试

    在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具. 但是Postman只能模拟单客户端的单次请求,而对 ...

  8. 使用Jmeter进行http接口性能测试(转载)

    在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具. 但是Postman只能模拟单客户端的单次请求,而对 ...

  9. jmeter+jenkins+ant部署持续集成测试

    原文地址:http://blog.csdn.net/kaluman/article/details/74535495 开头的注意事项: 1.所有的环境变量和代码,都需要使用英文的符号,变量之间都需要英 ...

随机推荐

  1. javascript基础(幼兔、小兔成兔数量等典型例题)

    一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米var sum=0; var a=0.0001 for(var i=0;i<100;i++){ a=a*2; sum= ...

  2. C# servicestack.redis 互通 java jedis

    拥抱变化,如今也走上了.net/java通吃的时代,下面就讲讲如何让.net/java都能正常访问分片的redis吧. 有几个关键点:一致性环哈希.哈希算法.序列化.反序列化 后两个都比较直接,只要选 ...

  3. openvpn配置注意事项

    1.安装VPN安装结束后,需要配置CONFIG文件夹服务端及客户端的配置文件,建议从sample文件里直接拷贝修改,网上的一些案例会引起无法启动的问题,没仔细研究过是哪里错了,反正最后从sample里 ...

  4. iframe 父页面与子页面之间的方法的相互调用

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. django favicon配置

    其实网站加一个图标,在/static/images/里面放置favicon.ico 1. 直接url里修改 from django.views.generic.base import Redirect ...

  6. v9手机版文章内容不显示

    方法一: 打开PHPCMS v9的/phpcms/templates/default/wap/show.html页面, 将网页中的{$content}替换为:{$rs['content']} 这样wa ...

  7. phpcms v9模版调用代码

    首页调用栏目{pc:content action="category" siteid="$siteid" num="15" order=&q ...

  8. nodejs+websocket制作聊天室视频教程

    本套教程主要讲解了node平台的安装,node初级知识.node 服务器端程序响应http请求,通过npm安装第三方包,websocket即时通讯.聊天页面界面制作.拖动原理.拖动效果.遮罩效果.定位 ...

  9. linux下安装QT5:error: unrecognized command line option ‘-fuse-ld=gold’

    安装qt时在执行./configure时报错:error: unrecognized command line option '-fuse-ld=gold' 这个错误是qt的一个bug. 在装有gol ...

  10. linux发行版和内核的关系

    转自:http://m.blog.csdn.net/article/details?id=50595230 Linux内核是计算机操作系统的核心.一个完整的 Linux发行版包括了内核与一些其他与文件 ...