在开始通过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. Trace VM

    24小时稳定性压测Trace 高并发情况下主要观察VM运行情况 一.总体概览 如上图所示 持久代十分稳定,没有发生OOM 二.VM区域详情 上图为VM每个区间的具体情况 1.持久代始终占分配空间的四分 ...

  2. TCP/IP协议和IP

    理解 使用网络能够把多方链接在一起,然后可以进行数据传递 所谓的网络编程就是,让在不同的电脑上的软件能够进行数据传递,即进程之间的通信 tcp/ip简介 1. 什么是协议 有的说英语,有的说中文,有的 ...

  3. 温故而知新-PHP文件操作函数

    1 文件操作流程 打开文件->读取或者写入文件->关闭文件 fopen->fread,fwrite->fclose fopen可以打开ftp或者http协议的文件,前提示对方支 ...

  4. jQuery id模糊 选择器 批量处理

    $("span[id^='province_']").each(function(index,obj){        $(obj).bind("click", ...

  5. leetcode91

    class Solution { public int numDecodings(String s) { if(s.length()==0){ return 0; } int[] dp = new i ...

  6. 4. mybatis实战教程(mybatis in action)之四:实现关联数据的查询

    转自:https://www.cnblogs.com/shanheyongmu/p/5653599.html 有了前面几章的基础,对一些简单的应用是可以处理的,但在实际项目中,经常是关联表的查询,比如 ...

  7. Java实现邮箱发送

  8. 子元素margin-top后,跟父元素一起下沉

    在一个<div>元素中嵌套一个子div,同时设置子div的margin-top,结果,父元素和子元素一起下沉,留出来个空白区域. 原因就是:        一个盒子如果没有上补白(padd ...

  9. vue基础——计算属性和侦听器

    计算属性——介绍 模板内的表达式非常便利,但是设计他们的初衷是用于简单计算的.在模板中放入太多的逻辑会让模板太过沉重切难以维护.如下: <div id="example"&g ...

  10. Mysql日期时间Extract函数介绍

    MySQL日期时间Extract函数的优点在于可以选取日期时间的各个部分,从年一直到微秒,让我们对MySQL日期时间的处理更为轻松. MySQL 日期时间 Extract(选取)函数.1. 选取日期时 ...