目录
apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。
Ant它有以下的优点。跨平台性。Ant是纯Java语言编写的,所以具有很好的跨平台性。操作简单。Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(构建文件,build.xml)。 Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。由于Ant构建文件 是XML格式的文件,所以很容易维护和书写,而且结构很清晰。Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去.
一、配置Ant
1、打开Test文件夹
2、找到Test中的ant文件夹下的如下路径
3、配置环境变量
在环境变量中系统变量新增ANT_HOME: 为 ant解压位置
CLASSPATH为 %ANT_HOME%\lib;
PATH为%ANT_HOME%\bin
在系统变量中添加变量名:ANT_HOME,变量值就是目录的路径:
然后再path中新建,把:%ANT_HOME%\bin,复制进去
上面操作完成之后再找到系统变量中的CLASSPATH,打开,将%ANT_HOME%\lib;粘贴到后面(以前的不要删)
4、验证ant是否安装成功,如下显示的为成功
配置完成之后,WIN+R,输入cmd,然后输入ant -v验证是否配置成功,配置成功显示如下图所示:
5、配置库文件
将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录下的lib文件夹中
找到文件路径,复制,进行拷贝
将文件拷贝到ant文件夹中的lib文件夹中
6、配置ant的编译文件build.xml
注意:jmeter的extras文件下也有个build.xml文档,不要用这个文档来改
找到build.xml拷贝到Text下的TestAuto目录下的pc目录中
然后打开build.xml,进行修改,把里面的路径都改为自己存放的路径
要修改的地方:
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<!-- builder.xml文件所在路径 -->
<project name="pc" default="all" basedir="D:\ceshiruanjian\ants\test\TestAuto\pc">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\ceshiruanjian\Java\jmeter\apache-jmeter-4.0" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\ceshiruanjian\ants\test\TestAuto\pc\resultlog\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\ceshiruanjian\ants\test\TestAuto\pc\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="2648636025@qq.com" />
<property name="mail_to" value="2648636025@qq.com" />
<!-- 电脑地址 -->
<!-- <property name="ComputerName" value="jkqsh-l0285" />-->
<target name="all">
<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}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->
<testplans dir="D:\ceshiruanjian\ants\test\TestAuto\pc\script" />
</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">
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl">
<param name="dateReport" expression="${time}"/>
</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="2648636025@qq.com" password="tkcwoisedfqfdjcb" >
<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>
7、配置jmeter.propertise文档
找到jmeter.properties文档,在jmeter/bin目录下,打开该文档并编辑,修改jmeter报告输出格式为xml
改jmeter.save.saveservice.output_format=csv 为jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#
8、在build.xml目录下输入cmd,并执行ant
执行结果如下:
温馨提示:
如果出现如下图展示的信息,需要将javax.mail-1.6.2.jar包放在ant的\lib 目录下即可
9、运行时出现如下的问题
生成如上图对应的信息,找到对应的测试报告(发送邮件失败)
点击如下图展示:
打开html文档,测试结果展现了执行的用例名称、成功率、用例执行时间等结果参数,样的结果是不是不太直观,
因为用jmeter自带的测试报告得到的测试报告信息并不是很全,下面讲一下怎么优化测试报告
10、邮件发送失败的问题解决情况
百度搜索QQ邮箱,登录,找到设置,进入账户,将以下两处开启,然后将密码替换为授权码!
1、
2、
3、
4、
开始时需要输入QQ安全中心的动态命令或者 发送短信到指定号码来获取授权码!!!
5、
将授权码替换到buile.xml中即可解决
验证是否解决成功,我们再次在build.xml上级文件夹下执行ant命令,执行成功并发送邮件,这时就能解决邮箱收不到报告的问题了
11、修改测试报告的样式
将该图片中的jmeter-results-shanhe-me.xsl,拷贝到jmeter的extras目录中
设置测试输出报告要输出的内容:同样在jmeter.properties中,设置需要输出的内容为true,并去掉前面的注释符号#,这里全部设置成true→保存
设置build文件的报告模板为优化后的模板jmeter.results.shanhe.me.xsl
再次在build.xml上级文件夹下执行ant命令
得到xml格式的邮件报告