jmeter+ant配置

1、修改jmeter.properties的配置

把jmeter.save.saveservice.output_format=csv改成jmeter.save.saveservice.output_format=xml

 

 

 2、复制jmeter的ant-jmeter-1.1.1.jar到ant的lib目录下

在jmeterde extras目录下

 

 

 3、配置jmeter的build.xml文件

需要注意的地方:

修改成自己本地jmeter的目录

修改生成报告的路径

文件路径自己配置

 

 

 

 

 

脚本所在位置,和选择要执行的脚本

 

 

 

发送测试报告

在extras目录下有两种模板,可以先选择其中一个

 

发送邮件

需要注意使用的密码是发送短信后的授权码

 

 

 使用的是QQ邮箱,需要进行一些设置,设置关闭后,需要手机发送短信,发送成功后会返回授权码,面就是填写的这个授权码

 

 

 

 附:文件

<?xml version="1.0" encoding="UTF-8"?>
<project name="接口测试" default="run" basedir=".">
 <tstamp>
      <format property="time" pattern="yyyyMMddhhmm"/>
 </tstamp>
    <property name="encoding" value="UTF-8" />
        <!-- 本地jmeter的目录-->  
    <property name="jmeter.home" value="F:\jmeter\apache-jmeter-3.2" />
   
    <!-- jmeter生成jtl格式的报告路径--> 
    <property name="jmeter.result.jtl.dir" value="${jmeter.home}\work\resultLog\jtl" />
    <!-- jmeter生成HTML格式的报告路径-->
    <property name="jmeter.result.html.dir" value="${jmeter.home}\work\resultLog\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" />
    <!--  接收测试报告的邮箱  -->
    <property name="mail_from" value="发送者@qq.com"/>
    <property name="mail_to" value="接受者@qq.com"/>
    
    <target name="run">
        <antcall target="test" />
        <antcall target="report" />
        <antcall target="send" />
    </target>
    
    <target name="test">
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
            <!-- 要运行的脚本-->
            <testplans dir="F:\jmeter\apache-jmeter-3.2\work\resultLog\jb" 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"
              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>
<target name="send"> <mail mailhost="smtp.qq.com" mailport="587" subject="Test Report!" messagemimetype="text/html" user="发送者@qq.com" password="授权码"> <from address="${mail_from}"/> <to address="${mail_to}"/> <message>This email was sent automatically by ANT. Please check the automation test report. Thank you!</message> <attachments> <fileset dir="${jmeter.result.html.dir}"> <include name="${ReportName}${time}.html"/> <include name="${ReportName}${time}.html"/> </fileset> </attachments> </mail> </target> </project>

4、在build.xml所在的目录下shift+右键,打开命令窗口,输入ant运行脚本

 

 

 

 运行成功后,接受者的邮箱收到了邮件

可查看HTML和jtl报告

 

 

 

 

 

5、遇到的问题

运行ant,提示????,原因:修改build.xml时,没有保存成功

运行时报错java.lang.ClassNotFoundException: javax.mail.internet.MineMessage,原因是缺少jar包,解决方法:安装三个包到ant的lib目录下

commons-email.jar     地址:https://commons.apache.org/proper/commons-email/download_email.cgi

activation-1.1.1.jar       地址:http://www.java2s.com/Code/Jar/a/Downloadactivation111jar.htm

javax.mail.jar        地址:https://github.com/javaee/javamail/releases

发送邮件失败,原因是,发送者与接受者的邮箱搞反了,需要确认授权码是对的;

posted @ 2022-04-28 18:13  呆萌呆萌呆萌  阅读(338)  评论(0编辑  收藏  举报