mac jmeter ant jenkins 展示可视化结果

安装jmeter

不赘述

安装Jenkins

不赘述

安装ant

首先进入Ant官网(http://ant.apache.org/bindownload.cgi)下载Ant

我java 版本是1.8,所以,我选的是1.10.7版本的ant

 

 

正常安装过程:

1:sudo sh (会提示你输入当前用户的密码)

2:cp /User/xx/Download/apache-ant.1.10.7-bin.zip /usr/local (拷贝ant压缩包到/user/local目录下)

3:cd /usr/local

4:unzip apache-ant.1.10.7-bin.zip (解压ant压缩包)

5:chown xx(用户名):admin(用户组,默认) apache-ant.1.10.7

6:ln -s apache-ant.1.10.7 ant(创建软连接)

7:vi /etc/bashrc (修改配置文件,将ant配置到系统环境中)

8:i键插入如下环境变量:

export ANT_HOME=/usr/local/ant

export PATH=${PATH}:${ANT_HOME}/bin

9:esc,:wq!退出
10 : ant -version

 

如果发现还是不行,可以关闭当前命令行,重启开启一个命令窗口试试

 

ant执行jmeter脚本,以html的样式输出

1、将Jmeter所在目录下extras子目录里的ant-jmeter-1.1.1.jar复制到ant所在目录lib子目录之下,ant运行时才能找到

"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,之后可以触发Jmeter脚本

2、建了一个目录/Users/a/Documents/software/apache-jmeter-5.1.1/jmeter-ant-jenkins,目录中分别建立了html和jtl两个文件夹,之后Ant运行之后将jtl中的文件转换成html中

3、在/Users/a/Documents/software/apache-jmeter-5.1.1/jmeter-ant-jenkins文件中建立一个build.xml文件,build.xml内容如下:

build.xml代码(pan.baidu.com/s/1nv2xVaL),注意要修改红色框框的内容

 

 注意,如果要切换报告的版本的话,需要修改字段:

<?xml version="1.0" encoding="UTF-8"?>  
   
<project name="ant-jmeter-test" default="run" basedir=".">  
       
    <tstamp>  
        <format property="time" pattern="yyyyMMddhhmm" />  
    </tstamp>  
    <property name="basedirectory" value="/Users/a/Documents/software/apache-jmeter-5.1.1/extras" />  
    <!-- 需要改成自己本地的 Jmeter 目录-->   
    <property name="jmeter.home" value="/Users/a/Documents/software/apache-jmeter-5.1.1" />  
    <!-- jmeter生成jtl格式的结果报告的路径-->  
    <property name="jmeter.result.jtl.dir" value="/Users/a/Documents/software/apache-jmeter-5.1.1/jmeter-ant-jenkins/result/jtl" />  
    <!-- jmeter生成html格式的结果报告的路径--> 
    <property name="jmeter.result.html.dir" value="/Users/a/Documents/software/apache-jmeter-5.1.1/jmeter-ant-jenkins/result/html" />  
    <!-- Name of test (without .jmx) --> 
    <property name="test" value="Test"/>  
    <!-- 生成的报告的前缀-->   
    <property name="ReportName" value="TestReport" />  
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${time}.jtl" />  
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${time}.html" />  
       
    <path id="xslt.classpath">  
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>  
    </path>  
       
    <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="/Users/a/Documents/software/apache-jmeter-5.1.1/jmeter-ant-jenkins/jmeter-script" includes="*.jmx" />  
        </jmeter>  
    </target>  
           
    <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">  
              <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>  
       
</project>

 
4、进入终端,cd到目标路径下(我的是/usr/local/apache-ant-1.10.7/bin),输入命令ant敲回车,运行结束会有success信息提示

 

 5. 生成的日志展示如下图:

 

 

 

补充:JMeter命令行结果报告的新XSL样式表

从命令行运行的结果是一个JTL输出文件。该文件实际上是XML文件,可以使用XSL样式表将其转换为HTML文件,以提高可读性。使用此处提供的样式表转换的HTML文件看起来类似于

 
 
图1.   从IE9中的JTL文件转换而来的HTML文件示例。

安装:

  1. 在JMeter发行版中  cd /Users/a/Documents/software/apache-jmeter-5.1.1/extras
     编辑extras / build.xml,找到
    <!-- Force suitable defaults -->
    <property name="jmeter.save.saveservice.output_format" value="xml"/>
    <property name="jmeter.save.saveservice.assertion_results" value="all"/>
    <property name="jmeter.save.saveservice.bytes" value="true"/>
    <property name="file_format.testlog" value="${format}"/>
    <property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
    并根据需要添加尽可能多的信息,例如
    <!-- Force suitable defaults -->
    <property name="jmeter.save.saveservice.response_data" value="true"/>
    <property name="jmeter.save.saveservice.samplerData" value="true"/>
    <property name="jmeter.save.saveservice.responseHeaders" value="true"/>
    <property name="jmeter.save.saveservice.requestHeaders" value="true"/>
    <property name="jmeter.save.saveservice.encoding" value="true"/>
    <property name="jmeter.save.saveservice.url" value="true"/>
    <property name="jmeter.save.saveservice.filename" value="true"/>
    <property name="jmeter.save.saveservice.hostname" value="true"/>
    <property name="jmeter.save.saveservice.thread_counts" value="true"/>
    <property name="jmeter.save.saveservice.sample_count" value="true"/>
    <property name="jmeter.save.saveservice.idle_time" value="true"/>
    <property name="jmeter.save.saveservice.output_format" value="xml"/>
    <property name="jmeter.save.saveservice.assertion_results" value="all"/>
    <property name="jmeter.save.saveservice.bytes" value="true"/>
    <property name="file_format.testlog" value="${format}"/>
    <property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
    这样您在JMeter GUI中看到的内容将显示在HTML文件中。属性名称位于bin / jmeter.properties中
  2. 再次extras / build.xml中找到
    <target name="report" depends="_message_xalan">
      <xslt
        classpathref="xslt.classpath"
        force="true"
          in="${testpath}/${test}.jtl"
          out="${testpath}/${test}.html"
          style="${basedir}/jmeter-results-detail-report${style_version}.xsl">
        <param name="showData" expression="${show-data}"/>
      </xslt>
    </target>

    更改样式属性为:
    <target name="report" depends="_message_xalan">
      <xslt
        classpathref="xslt.classpath"
        force="true"
          in="${testpath}/${test}.jtl"
          out="${testpath}/${test}.html"
          style="${basedir}/jmeter-results-shanhe-me.xsl">
        <param name="showData" expression="${show-data}"/>
      </xslt>
    </target>
  3. 通过单击页面底部的链接下载jmeter-results-shanhe-me.xsl,然后将文件保存到extras / jmeter-results-shanhe-me.xsl
  4. 在命令提示符下,将当前工作目录更改为extras文件夹,例如“ cd C:\ jakarta-jmeter-2.4 \ extras ”,然后执行“ ant ”。这将运行Test.jmx并获取Test.html。

    

 

           图2.   从命令提示符处执行ant。

        5. 您还可以指定jmx文件的路径和文件名,例如,您可以运行“ ant -Dtest = Test -Dtestpath = C:\ jakarta-jmeter-2.4 \ extras ”来执行相同的Test.jmx

           

         输出的HTML文件与Ie8 + / Opera / Firefox / Safari / Chrome兼容。

 

posted @ 2020-05-11 20:22  pretend_smile  阅读(170)  评论(0)    收藏  举报