jmeter + ant +jenkins

ant是构建工具;

什么是构建?

  形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅于此,但是主要用来干这个;

jenkins是干嘛的?

  持续、自动地构建/测试软件项目;

  监控一些定时执行的任务;

一、ant下载安装;

  1.1下载地址:http://ant.apache.org/bindownload.cgi

    本人下载的是1.10.8的版本;apache-ant-1.10.8

  1.2配置环境变量;同时需要配置jdk8;  

    ANT_HOME D:\Program Files\apache-ant-1.10.8              ----为ant的解压目录  
    Path %ANT_HOME%/bin

  1.3 检查ant是否安装成功;

  在cmd窗口执行:ant -v 或 ant -version;显示版本,就说明安装成功;

 二、配置ant和jmeter

  2.1 将jmeter中extras目录下的ant-jmeter-1.1.1.jar文件copy到ant安装目录下的lib文件夹中;

  

   2.2 配置编译文件build.xml文件;在任意目录下创建case执行目录,以及报告的生成目录;

  如,在jmeter/bin目录下创建执行目录:case_ant,并在此目录下创建执行报告存放目录:report;在执行目录下创建编译文件:build.xml;

  2.3 编辑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="E:\apache-jmeter-5.1.1" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="E:\apache-jmeter-5.1.1\case_ant\report" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="E:\apache-jmeter-5.1.1\case_ant\report" />
<!-- 生成的报告的前缀-->
<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="E:\apache-jmeter-5.1.1\case_ant" 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.shanhe.me.xsl" />

<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>

  

  2.4 模板文件;jmeter.results.shanhe.me.xsl 

  链接:https://pan.baidu.com/s/1AtVG7FXtPbRusS_pdRKIMw
  提取码:eme8
  下载以后,解压到jmeter/extras目录; 

  2.5 配置jmeter.properties文件,位置在jmeter/bin目录,将jmeter.save.saveservice.output_format前面的注释去掉,值改为xml

   2.6 将要执行的脚本以及脚本所需的csv文件等,放到build.xml文件同一目录下

  2.7 在命令行进行执行目录,并执行命令:ant run

   2.8 执行以后的报告内容;

 2.9 如果觉得报告输出内容太少了,可以配置jmeter.properties文件,位置在jmeter/bin目录,将jmeter.save.saveservice开头的配置项中,需要将打印的配置项改成true,并去掉前面的"#"

   三、下载Jenkins

  3.1 下载地址:https://www.jenkins.io/zh/download/;下载完成后,解压,安装;安装完成后,自动跳转到浏览器的如下页面;输入相应的密码;

  3.2  安装推荐的插件;并根据提示创建用户;

   3.3 点击“开始创建一个新任务”;并根据提示 填写用户名,密码登录;

 

 

   3.4 新建一个自由风格的..

 

 

   3.5 设置定时任务

 

 

   3.6 jenkins中管理Jenkins——>Global Tool Configuration中配置jdk地址,ant地址;

 

 

   3.7 构建-->增加构建步骤-->Invoke Ant-->高级,Build File中输入ant构建build.xml的路径(参考2.2配置的build.xml路径);E:\apache-jmeter-5.1.1\case_ant\build.xml

  

   3.8 可以手动构建(Build Now),Jenkins也会根据定时任务,自动构建;

 

   3.9 查看构建结果,构建历史-->控制台输出;

   四、扩展的分割线

  4.1 执行多个目录的jmx脚本;

原bulid.xml脚本

 

 改成

 

 立即构建后,结果如下;

 

posted on 2020-05-18 14:47  星空6  阅读(837)  评论(0编辑  收藏  举报

导航