在开始通过ANT运行build.xml之前,有一步必须要做,那就是将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下,这样Ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发JMeter脚本

<?xml version="1.0"?>
<project name="autotest" default="all" basedir=".\">
 <property name="JMeter.home" value=".\..\..\..\"/>
 <property name="mail_to" value="Bodhi.Zhang@example.com,lucy.chen@example.com"/>

<property name="ReportName" value="SnoopyAutoTestReport"/>
 <property name="ComputerName" value="szpc8888"/>
 <tstamp>
  <format property="time" pattern="yyyyMMddhhmm"/>
 </tstamp>
 <target name="all" >
  <antcall target="runBasicData"/>
  <antcall target="runDeleteBasicData"/>
  <antcall target="transfer"/>
  <antcall target="sendEmail"/>
 </target>
 <target name="runBasicData" depends="">
  <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
  <jmeter jmeterhome="${JMeter.home}" resultlog="${basedir}/Result/${ReportName}${time}.jtl">
   <testplans dir="${basedir}\Script\SmokeTest" includes="CIM_NewBasicData_SmokeTest_TP.jmx"/>
  </jmeter>
 </target>
  <target name="runDeleteBasicData" depends="">
  <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
  <jmeter jmeterhome="${JMeter.home}" resultlog="${basedir}/Result/${ReportName}${time}.jtl">
   <testplans dir="${basedir}\Script\SmokeTest" includes="CIM_DeleteBasicData_SmokeTest_TP.jmx"/>
  </jmeter>
 </target>
 <target name = "transfer" depends = "">
  <xslt in="${basedir}/Result/${ReportName}${time}.jtl"
   out="${JMeter.home}/extras/${ReportName}${time}.html"
   style="${JMeter.home}/extras/JMeter-results-detail-report_21.xsl"/>
 </target>

<target name="sendEmail">
  <mail mailhost="internalmail.example.com" mailport="25" subject="SmokeTest Report!" messagemimetype="text/html" tolist="${mail_to}">
   <from address="jenny.zhang@example.com"/>
   <!--fileset dir="${JMeter.home}/extras/">
    <include name="${ReportName}${time}.html"/>
   </fileset-->
   <message>This email was sent automatically by ANT. &lt;br /&gt;
   Please check the automation test report by the link below.  &lt;br /&gt;
   If there are any questions, please contact with Bodhi Zhang. Thank you! &lt;br /&gt;&lt;br /&gt;
   http://${ComputerName}/${ReportName}${time}.html
   </message>
  </mail>
 </target>
</project>

通过ANT实现jmeter批量执行脚本、生成报告、发送邮件全套build.xml文件的更多相关文章

  1. Jmeter 批量执行脚本之-----------Ant

    一.环境介绍&准备: 1)jmeter3.2版本,需配备jdk1.8(或其他jmeter版本): 2)ant下载,并配置环境变量: a.下载地址:http://ant.apache.org/b ...

  2. python自动化--批量执行测试之生成报告

    一.生成报告 1.先执行一个用例,并生成该用例的报告 # -*- coding: utf-8 -*- from selenium import webdriver from selenium.webd ...

  3. 通过SqlClr制作Sql自动化批量执行脚本

    原文:通过SqlClr制作Sql自动化批量执行脚本 通过SqlClr制作Sql自动化批量执行脚本 在与同事一起做项目时,看到同事用sqlclr做批量执行脚本,感觉挺新奇的就上网搜集资料自己模仿跟做了个 ...

  4. Oracle批量执行脚本文件

    以下是Oracle批量执行脚本文件的步骤和方法 1.创建脚本文件(xx.sql): 例如文件CreateTable Create table tb1( id varchar2(30), Name va ...

  5. SaltStack 批量执行脚本

    这里演示如何使用 salt-master 对多台 salt-minion 批量执行脚本,步骤如下: [root@localhost ~]$ cat /srv/salt/top.sls # 先定义入口配 ...

  6. ANT+JMETER集成1(生成报告)

    配置build.xml文件时,网上找了各种版本的代码都会报错, 终于找到个可以生成报告的build源码了 链接: http://www.cnblogs.com/hanxiaomin/p/6731810 ...

  7. ANT build.xml文件详解

    Ant的优点 跨平台性.Ant是用Java语言编写的,所示具有很好的跨平台性. 操作简单.Ant是由一个内置任务和可选任务组成的. Ant运行时需要一个XML文件(构建文件). Ant通过调用targ ...

  8. [置顶] ANT build.xml文件详解

    Ant的优点 跨平台性.Ant是用Java语言编写的,所示具有很好的跨平台性. 操作简单.Ant是由一个内置任务和可选任务组成的. Ant运行时需要一个XML文件(构建文件). Ant通过调用targ ...

  9. jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第五话):总结以及build.xml文件

    前面基本上把整个配置过程都完整地串起来了,包括可能遇到的难点,按照那个套路应该可以配置好自动打包发布的功能.简单总结下我的学习过程,以及遇到问题是怎样解决的. 准备一个项目源码 刚开始在github和 ...

随机推荐

  1. django-查询按时间排序

    Meta类实现 class News(models.Model): title = models.CharField(max_length=35) desc = models.CharField(ma ...

  2. 31. Studio获取新的ID值方法

    var fun = ABS_LOADBEAN("com.plug.FunctionHelper");var vid1 = fun.utilHelper.getNextID(&quo ...

  3. RabbitMQ 端口号解析

    转自:https://www.cnblogs.com/liuxingke/articles/9889517.html 端口号解析 12345 - 4369 (epmd), 25672 (Erlang ...

  4. java msgbox

    JAVA import javax.swing.JOptionPane; JOptionPane.showMessageDialog( null,"sample dialog !" ...

  5. 13 python 常用的内置方法介绍

    1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(object) ...

  6. Status Code:405 Method Not Allowed

    场景: 前端调用方法的时候,调不通,并且报错信息为405 因为我们公司前后端分离开发,于是前端就来找我说我写的接口有问题?于是我就在这里的postman中测试发现没问题啊. 然后我好好看了一下报错信息 ...

  7. 趣味编程:24点(Haskell版)

    24 game/Solve import Data.List import Data.Ratio import Control.Monad data Expr = Constant Rational ...

  8. MS-SQL

    变量 一个@为局部变量,两个@@为全局变量 @@error 最后一句SQL语句的错误编号 错误码 @@identity最后一次插入的标示值符 insert into biao(lie) output ...

  9. $.ajax dataType设置为json 回调函数不执行

    请求方式如下: $.xpost = function (url, data) { return $.ajax({ url: url, type: "POST", dataType: ...

  10. jQuery源码解读一

    (function(window,undefined){...})(window); 这是一个典型的自执行的匿名函数. 为什么会有一个名为undefined的形参呢? undefined不是常量,可以 ...