性能测试培训:批量执行Jmeter脚本之ant调用

 

poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。在poptest的loadrunner的培训中,为了提高学员性能优化的经验,加入了很多服务器方面的优化知识,为性能调优的能力打下基础,通过大量的实战案例的讲解提高学员的实战经验,尽快上手性能测试。(大家对课程感兴趣,请加qq:564202718)

一、环境准备:

  1、Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html
   命令行输入:java -version,出现如下提示说明安装成功

2、ANT下载:http://ant.apache.org/bindownload.cgi
    命令行输入:ant -v,出现如下提示说明安装成功

3、Jmeter下载:http://jmeter.apache.org/download_jmeter.cgi
4、将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中
5、修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save

二、Jmeter脚本:
  1、如何编写脚本请参见:http://www.cnblogs.com/puresoul/p/4740436.html
  2、脚本目录:D:\apache-jmeter-2.13\demo

3、脚本内容:
 测试百度.jmx                                                                          Google1.jmx

三、build.xml代码:

<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="run" basedir=".">

<tstamp>

<format property="time" pattern="yyyyMMddhhmm" />

</tstamp>

<!-- 需要改成自己本地的 Jmeter 目录-->

<property name="jmeter.home" value="D:\apache-jmeter-2.13" />

<!-- jmeter生成jtl格式的结果报告的路径-->

<property name="jmeter.result.jtl.dir" value="D:\apache-jmeter-2.13\demo\report\jtl" />

<!-- jmeter生成html格式的结果报告的路径-->

<property name="jmeter.result.html.dir" value="D:\apache-jmeter-2.13\demo\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}">

<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->

<testplans dir="D:\apache-jmeter-2.13\demo" includes="*.jmx" />

       <property name="jmeter.save.saveservice.output_format" value="xml"/>

</jmeter>

</target>

<target name="report">

<xslt in="${jmeter.result.jtlName}"

out="${jmeter.result.htmlName}"

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>

四、运行脚本:
1、cmd进入脚本目录:D:\apache-jmeter-2.13\demo
2、输入:ant 或 ant run(run为build.xml中的task名),执行结果:

D:\apache-jmeter-2.13\demo>ant

Buildfile: build.xml

all:

test:

[jmeter] Executing test plan: D:\apache-jmeter-2.13\demo\Google1.jmx ==> D:\apache-jmeter-2.13\demo\report\jtl\TestReport201509141114.jtl

[jmeter] Creating summariser <summary>

[jmeter] Created the tree successfully using D:\apache-jmeter-2.13\demo\Google1.jmx

[jmeter] Starting the test @ Mon Sep 14 23:14:32 CST 2015 (1442243672984)

[jmeter] Waiting for possible shutdown message on port 4445

[jmeter] summary +      1 in     1s =    1.9/s Avg:   248 Min:   248 Max:   248 Err:     1 (100.00%) Active: 1 Started: 1 Finished: 0

[jmeter] summary +      5 in     1s =    7.8/s Avg:   119 Min:   107 Max:   137 Err:     0 (0.00%) Active: 0 Started: 1 Finished: 1

[jmeter] summary =      6 in   1.2s =    5.2/s Avg:   140 Min:   107 Max:   248 Err:     1 (16.67%)

[jmeter] Tidying up ...    @ Mon Sep 14 23:14:34 CST 2015 (1442243674232)

[jmeter] ... end of run

[jmeter] Executing test plan: D:\apache-jmeter-2.13\demo\测试百度.jmx ==> D:\apache-jmeter-2.13\demo\report\jtl\TestReport201509141114.jtl

[jmeter] Creating summariser <summary>

[jmeter] Created the tree successfully using D:\apache-jmeter-2.13\demo\测试百度.jmx

[jmeter] Starting the test @ Mon Sep 14 23:14:35 CST 2015 (1442243675376)

[jmeter] Waiting for possible shutdown message on port 4445

[jmeter] summary +      1 in   0.5s =    2.1/s Avg:   196 Min:   196 Max:   196 Err:     0 (0.00%) Active: 1 Started: 1 Finished: 0

[jmeter] summary +      5 in     1s =    8.4/s Avg:   113 Min:   107 Max:   133 Err:     0 (0.00%) Active: 0 Started: 1 Finished: 1

[jmeter] summary =      6 in   1.1s =    5.6/s Avg:   126 Min:   107 Max:   196 Err:     0 (0.00%)

[jmeter] Tidying up ...    @ Mon Sep 14 23:14:36 CST 2015 (1442243676535)

[jmeter] ... end of run

report:

[xslt] Processing D:\apache-jmeter-2.13\demo\report\jtl\TestReport201509141114.jtl to D:\apache-jmeter-2.13\demo\report\html\TestReport201509141114.html

[xslt] Loading stylesheet D:\apache-jmeter-2.13\extras\jmeter-results-detail-report_21.xsl

[copy] Copying 2 files to D:\apache-jmeter-2.13\demo\report\html

BUILD SUCCESSFUL

Total time: 5 seconds

3、测试报告目录:D:\apache-jmeter-2.13\demo\report\html,其中有一个红色失败的案例是我故意设置失败,以便查看的。

四:最后,说一个我在使用过程中碰到一个问题,上面build.xml文件第29行有一句必须要加上:<property name="jmeter.save.saveservice.output_format" value="xml"/>,否则会报如下的错误:

report:

[xslt] Processing D:\Tools\apache-jmeter-2.13\demo\report\jtl\TestReport201509210923.jtl to D:\Tools\apache-jmeter-2.13\demo\report\html\TestReport201509210923.html

[xslt] Loading stylesheet D:\Tools\apache-jmeter-2.13\extras\jmeter-results-detail-report_21.xsl

[xslt] : Error! 前言中不允许有内容。

[xslt] : Error! com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: 前言中不允许有内容。

[xslt] Failed to process D:\Tools\apache-jmeter-2.13\demo\report\jtl\TestReport201509210923.jtl

因为不加上这一句,生成的.jtl文件是文本文件不是xml文件,使用xsl去转换.jtl文件时就会报错。

性能测试培训:批量执行Jmeter脚本之ant调用的更多相关文章

  1. 转:通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案)

    最近在使用jmeter写脚本来进行测试,最终写了很多份脚本,然后,就在想,这么多脚本,我不可能一个一个的手动去点啊,有没有什么办法来批量运行Jmeter脚本呢? 这个时候,自然而然地想到了万能的ant ...

  2. Ant 与jemter的结合--批量执行jmeter脚本

    一.Ant 介绍&作用: Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发. 作用:打包,部署,运行Java工程 二.下 ...

  3. ant批量执行Jmeter脚本

    JDK,Jmeter默认已经装了 ANT下载:http://ant.apache.org/bindownload.cgi ant环境变量需要配置 ant_home,你解压之后的地址 然后PATH环境变 ...

  4. 【jmeter】ANT批量执行Jmeter脚本

    一.环境准备: 1.Jdk1.6或以上:命令行输入:java -version,出现如下提示说明安装成功 2.ANT下载:http://ant.apache.org/bindownload.cgi 命 ...

  5. Ant 批量执行jmeter 脚本

    一.环境准备: 1.Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html 命令行输入:java -v ...

  6. Jenkins+Jmeter持续集成笔记(二:ANT执行Jmeter脚本)

    Jmeter接口测试脚本运行后生成的是jtl(xml)格式的文件,这些文件不具备可读性,所以我们要把他转化为可以阅读的html格式报告. Ant是一个功能强大的打包编译工具.我们使用他的目的是将xml ...

  7. Ant批量处理jmeter脚本

    Ant是一个可以把代码从某个地方拿来,编译,再拷贝到某个地方去的构建工具.一时冲动学习一下,顺便王婆卖瓜尝试着处理jmeter的脚本,于是,采坑之旅也从此开始.本文省略ant安装步骤和ant脚本说明, ...

  8. 配置Ant执行Jmeter脚本

    1.将 jmeter下extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中,否则会报错ant-jmeter-1.1.1不存在 2.在jmeter根目录下创建 ...

  9. 配置 Ant 执行 Jmeter 脚本

    1.将  Jmeter 下 extras 目录中 ant-jmeter-1.1.1.jar 包拷贝至 ant 安装目录下的lib目录中,否则会报错 ant-jmeter-1.1.1 不存在 2.创建 ...

随机推荐

  1. php微信网页授权获取用户信息

    配置回调域名: 1. 引导用户进入授权页面同意授权,获取code 2. 通过code换取网页授权access_token(与基础支持中的access_token不同) 3. 如果需要,开发者可以刷新网 ...

  2. Webpack学习系列(一)

    一:全局安装: npm install webpack -g (-g全局安装) npm init -y   (初始化参数) npm install webpack --save-dev  (安装在当前 ...

  3. redux 初识

    前言 Redux 试图让 state 的变化变得可预测 react/react-native 将组件的更新交给了状态机(state),想要更新页面活着页面的某个组件就必须得通过改变state的方式.页 ...

  4. HTML5 DragEvent

    DragEvent是一个表示drag和drop交互的DOM event接口.用户通过将指针设备(如:鼠标)放在目标的表面开始拖动,然后拖动指针到一个新的位置(如其他DOM元素).应用程序自动的解析拖放 ...

  5. unity3d为什么会有三种脚本语言?

    相信这个问题多多少少会令许多初学者感到困惑,因为他们不知道应该选择哪种语言好,但是都会从以下几个方面进行考虑: 1.学习成本.哪门语言让我快速上手. 2.文档帮助.说白了就是出了问题,有没有人能解决. ...

  6. stm32 复位后 引起引脚的变化,输出电平引起的问题

    在做项目的时候,需要通过蓝牙发送指令给STM32,使其复位,然后进入bootloader程序进行升级,但是复位后会导致蓝牙模块关机.stm32有个引脚连接着蓝牙的开关机引脚,高电平开机,低电平关机,我 ...

  7. git全部使用步骤

    今天要讲的内容:项目管理和工具 Git:版本控制系统 Less:动态的css语言,提高编写CSS的效率 Gulp:项目自动构建工具,对html,css,js,image进行压缩,合并等操作. 一.什么 ...

  8. 撸基础篇系列,JAVA的NIO部分

    前言:撸基础篇系列,避免每次都要从头开始看,写个自己的知识体系树 NIO 核心就是异步, 比如,复制文件,让操作系统去处理,等通知 BIO核心类 一,BIO NIO基本操作类 Bytebuffer 构 ...

  9. Spring框架中 配置c3p0连接池 完成对数据库的访问

    开发准备: 1.导入jar包: ioc基本jar jdbcTemplate基本jar c3p0基本jar 别忘了mysql数据库驱动jar 原始程序代码:不使用配置文件方式(IOC)生成访问数据库对象 ...

  10. Redis安装以及基本数据类型

    安装 1.阿里云CentOS 1.进入到centos系统,输入wget http://download.redis.io/releases/redis-3.2.8.tar.gz ,下载好目前最新版的R ...