配置Ant执行Jmeter脚本过程详解

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

2、创建 testcases 文件夹用来存放 Jmeter 脚本文件,创建 test_report 文件夹用来存放测试报告文件

3、testcases 创建 build.xml 文件(从 Jmeter 下的 extras 中将 build.xml 复制到该目录下),所有的 Jmeter 脚本文件都放在此目录下,build.xml 文件因为 ant 编译时需要此文件

4、配置 build.xml 文件内容,将下面代码复制到 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:\work_software\jmeter\apache-jmeter-3.2" />
  <!-- Jmeter生成 jtl 格式的结果报告的路径-->
  <property name="jmeter.result.jtl.dir" value="D:\work_software\jmeter\apache-jmeter-3.2\testcases\report\jtl" />
  <!-- Jmeter生成 html 格式的结果报告的路径-->
  <property name="jmeter.result.html.dir" value="D:\work_software\jmeter\apache-jmeter-3.2\testcases\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:\work_software\jmeter\apache-jmeter-3.2\testcases" includes="*.jmx" />

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

    </jmeter>

  </target>

   <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" rel="external nofollow"
       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>

5、运行脚本,从 dos 命令下进入到上面新建的 build.xml 文件所在的目录中,输入 ant 执行 Jmeter 脚本,出现 BUILD SUCCESSFUL 则执行成功

6、查看报告,进入 html 目录下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Jmeter多种定时器实现方法解析

    1.固定定时器(Constant Timer) 用法(场景):更真实的模拟用户场景,需要设置等待时间,或是等待上一个请求的时间才执行,给 sampler 之间的思考时间 备注:如果需要每个步骤均延迟,则将定时器放在与请求持平的位置,若只针对一个请求延迟,则将定时器放在该请求子节点中. (1)每个sampler均延迟启动,(包含第一个 sampler)示例如下 (2)只针对某一个 sampler 请求延迟启动,示例如下 2.高斯随机定时器(Gaussian Random Timer) 下图中固定延

  • Jmeter后置处理器实现过程及方法应用

    1.JSON Extractor Json extractor 后置处理器用在返回格式为 Json 的 HTTP 请求中,用来获取返回的 Json 中的某个值.并保存成变量供后面的请求进行调用或断言等. Variable names:保存的变量名,后面使用 ${Variable names} 引用 JSON Path expressions:上一步中调试通过的 json path 表达式 Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有) Default Values

  • Jmeter参数化实现方法及应用实例

    当使用JMeter进行测试时,测试数据的准备是一项重要的工作.若要求每次迭代的数据不一样时,则需进行参数化,然后从参数化的文件中来读取测试数据. 参数化:是自动化测试脚本的一种常用技巧,可将脚本中的某些输入使用参数来代替,如登录时利用GET/POST请求方式传递参数的场景,在脚本运行时指定参数的取值范围和规则. 脚本在运行时,根据需要选取不同的参数值作为输入,该方式称为数据驱动测试(Data Driven Test),而参数的取值范围被称为数据池(Data Pool). 1.CVS参数化 应用:

  • Jmeter分布式压力测试实现过程详解

    一.分布式压测原理 如下图(这个图说明的是要一台控制机,然后由这台控制机发压测脚本到每台远程执行机,然后由控制机收集执行机结果) 二.修改 Jmeter 配置文件 在主控机的jmeter的bin目录找到配置文件jmeter.properties.找到里面的remote_hosts 部分,修改内容为:remote_hosts=xx,xx代表的是压力机的ip:port.如果是多个压力机,之间使用[,]分隔 控制机端口修改,防止端口被占用(注意:控制机修改后,每台执行机的端口也要修改成一致) 电脑防火

  • Jmeter命令行执行脚本如何设置动态参数

    最近看到在Linux上折腾jmeter的人越来越多,不过即使在windows上,jmeter的脚本我还是建议用命令行来执行(降低GUI模式带来的性能损耗,不过拿jmeter来做接口测试的无所谓).做性能测试的时候,有时候可能需要不停的去设置"线程组"那个界面的参数(例如线程数.循环次数.持续时间等),而每次修改-->保存-->cmd中运行总感觉麻烦,那就找一种方法可以在命令行中直接指定参数的值. 查看相关资料实操,可以发现JMeter的测试计划在运行Sampler之前会先加

  • Jmeter设置全局变量token过程图解

    返回登录后的token使用json path Extractor插件,定位到获取后的token为变量 在登录下后置处理器下添加json path Extracto插件 根据上面获取到的token位置路径编写变量 头部添加全局token变量 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • Mac系统搭建JDK及JMETER过程解析

    前言 时代在进步,我们IT届的测试工程师大部分都用上了MAC电脑,在MAC上如何搭建JMETER呢 一.环境和所需软件概述 1.1 目前环境: MacOS(10.15.3) 1.2 所需软件: jdk-8u91-macosx-x64.dmg (jdk1.8及以上版本应该都可以) apache-jmeter-5.2.1.zip (官网下载最新版即可) 二.搭建过程详述2.1 JDK安装即配置 该步骤大家可以参考我之前的博文,地址如下: jdk搭建步骤 2.2 JMETER安装即配置2.2.1 下载

  • 如何基于Jenkins构建Jmeter项目

    1.启动 Jenkins(windows 版本) 2.新建自由风格的项目 定时任务 构建操作 安装 HTML Publisher 插件构建后操作 最后保存构建,查看报告 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • 配置Ant执行Jmeter脚本过程详解

    1.将 Jmeter 下 extras 目录中 ant-jmeter-1.1.1.jar 包拷贝至 ant 安装目录下的lib目录中,否则会报错 ant-jmeter-1.1.1 不存在 2.创建 testcases 文件夹用来存放 Jmeter 脚本文件,创建 test_report 文件夹用来存放测试报告文件 3.testcases 创建 build.xml 文件(从 Jmeter 下的 extras 中将 build.xml 复制到该目录下),所有的 Jmeter 脚本文件都放在此目录下,

  • Jmeter调用java脚本过程详解

    这篇文章主要介绍了Jmeter调用java脚本过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 jmeter为纯java编写,所以有三种方式使用java脚本,分别是:调用 .java 文件:调用 .class文件 :调用 .jar 文件 1. jmeter调用.java文件 1>. 新建一java脚本,内容如下: 2>. 新建线程组>>添加BeanShell Sampler.Debug PostProcessor.查看结果树

  • SpringBoot配置自定义拦截器实现过程详解

    目录 1. HttpServletRequest包装类 2. 使用Filter将request传递下去 3. 添加拦截器 4. 全局异常处理器 5. 配置拦截器 1. HttpServletRequest包装类 因为HttpServletRequest只能读取一次,所以需要对request进行包装,变成可重复读的request. package net.lesscoding.interceptor; import javax.servlet.ReadListener; import javax.

  • 从零开始使用gradle配置即可执行的Hook库详解

    目录 背景 本文须知 当前技术背景 底层选择 目标流程图 Transform ASM 封装开始 目标 实现 gradle 定义extension Transform阶段收集信息: 自定义的classvisitor 自定义method visitor 自定义hook操作 总结 背景 有一天,老板突然找到小B说,隐私合规需要我们获取权限前,需要明确授权来意,这个你来跟一下吧!小B此时就可愁了,因为项目权限那么多,每个自己手动加上授权来意提示的话,可能会漏掉很多,工作量也大,这可咋办呀!老B看到小B这

  • Flutter配置代理抓包实现过程详解

    目录 背景 工具准备 配置Flutter代理 方式一.http请求库配置代理 web_socket_channel配置代理 方式二.重写原生方法 背景 在开发Flutter中,我们经常需要对网络请求进行调试,而Flutter自带的devtool的network又不太好用,有时会出现请求成功,但是又看不到response返回(难道是我姿势不对?).于是我就尝试通过抓包来查看请求 工具准备 安装charles 有时我们需要抓https的请求,此时用charles抓包的内容是加密的,看不到明文,这时候

  • 使用 Docker安装 Zabbix并配置自定义监控项的过程详解

    目录 一.Zabbix 简介 1.监控功能 2.Zabbix 工作原理 3.Zabbix 组件 4.Zabbix 进程 二.使用 Zabbix 配置自定义监控项 1.安装 Zabbix 2.开启自定义监控项 3.编写 Nginx 自定义监控脚本 一.Zabbix 简介 Zabbix 可以用来监控各种网络参数,来保证服务器和系统的安全运行.并且 Zabbix 还提供了灵活的通知机制,以此来让系统管理员快速定位/解决存在的各种问题.是一个基于 Web 界面提供的分布式系统监控以及网络监控功能的企业级

  • 在交互式环境中执行Python程序过程详解

    前言 相信接触过Python的伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行.命令行窗口运行.开发工具上运行等,其中在不同的操作平台上还互不相同.今天,小编讲些Python基础的内容,以Windows下交互式环境为依托,演示Python程序的运行. 一般来说,顺利安装Python之后,有两种方式可以进入Python交互性环境.一种是在Python自带的IDLE中直接打开交互式窗口,如下图所示: 另一种是打开开始菜单,输入cmd之后,进入命令行窗口,之后输入Py

  • django搭建项目配置环境和创建表过程详解

    1. 搭建项目配置环境和创建表 创建一个ttsx的项目 django-admin startproject ttsx 在ttsx下的__init__中导入mysql import pymysql pymysql.install_as_MySQLdb() 配置mysql 读写分离配置 # default:默认的配置的是主数据库 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': 'localhost', 'PORT': 3306,

  • Nginx配置https原理及实现过程详解

    使用linux实用工具certbot来生成https证书 这个工具是生成Let's Encrypt证书, Let's Encrypt数字证书认证机构,Let's Encrypt 是由互联网安全研究小组(ISRG,一个公益组织)提供的服务 提供免费的SSL/TLS证书 2015年12月3日,该服务进入公测阶段,正式面向公众. 2016年4月12日,该项目正式离开Beta阶段. 到2016年9月9日,Let's Encrypt 已经发放 1000 万张证书. 因此对于大部分中小型网站来说,是一个值得

  • springcloud安装rabbitmq并配置延迟队列插件的过程详解

    目录 0. 引言 1. docker安装 1.1 安装rabbitmq 1.2 安装延迟队列插件delayed_message_exchange 2. docker打包安装rabbitmq+延迟队列插件 0. 引言 本期主要讲解如何利用docker快速安装rabbitmq并且配置延迟队列插件 1. docker安装 1.1 安装rabbitmq 1.下载镜像 docker pull rabbitmq 2.安装镜像 docker run -d --hostname my-rabbit --name

随机推荐