zoukankan      html  css  js  c++  java
  • JMeter(2) 集成jmeter+ant+jenkins

    一、ant安装

    $su root
    $vi /etc/bashrc
    插入两行(i+enter插入)
    export ANT_HOME=/usr/local/apache-ant-1.9.3
    export PATH=${PATH}:${ANT_HOME}/bin
    退出(exit),保存修改:wq!
    exit
    让配置立即生效:
    $source /etc/bashrc
    验证生效:
    $ant -version
    输出版本号即为成功

    二、运行脚本前准备

    1. 录制Jmeter脚本0622.jmx

    2. 将JMeter->extras->ant-JMeter-1.1.1.jar复制到Ant->lib目录下(这样Ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发JMeter脚本)

    3. jmeter默认保存的是.csv格式的文件,所以我们先要修改一下bin/jmeter.properties,保存 jmeter.save.saveservice.output_format=xml

    4. 主要逻辑思路:
      运行script下面的.jmx脚本,生成.jtl文件放入resultLogjtl文件中,ant在将相应的文件转换为对应的html文件放入resultLoghtml中
      <pre><code>
      <?xml version="1.0" encoding="utf-8"?>
      <project name="JmeterTest" default="all" basedir=".">
      <tstamp>
      <format property="time" pattern="yyyyMMddhhmm" />
      </tstamp>

      <property name="jmeter.home" value="D:softwareapache-jmeter-3.0" />

      <property name="jmeter.result.jtl.dir" value="D:softwareapache-jmeter-3.0jmeterTest esultLogjtl" />

      <property name="jmeter.result.html.dir" value="D:softwareapache-jmeter-3.0jmeterTest esultLoghtml" />

      <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_to" value="1939986747@qq.com" />

      <property name="ComputerName" value="Susie" />
      <target name="all">
      <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}">

      <testplans dir="D:softwareapache-jmeter-3.0jmeterTestscript" includes="0622.jmx" />
      </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-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>

      </project></code></pre>
      想要运行多个脚本的话可以修改配置文件里面的目标script
      <pre><code>
      <testplans dir="D:softwareapache-jmeter-3.0jmeterTestscript" includes="*.jmx" />
      </code></pre>

    三、运行测试脚本

    命令行进入到jmeterTest里面,运行ant命令,可以看到build成功


     
    命令窗口.png

    运行之前的文件目录


     
     

    运行之后的文件目录,可看到生成了测试报告
     
     

    <span id = "jump">跳转到这里:</span>

    四、测试报告

    1. 测试报告为空,MinTime和MaxTime为NaN

    样式表版本不对,所以网上找了到jmeter-results-detail-report_21.xsl,下载放到jmeter->extra下
    把jmeter->lib下的xalan.jar、serializer.jar复制到ant->lib下
    重新跑脚本,这次打开就是ok了

    1. 样式拓展
      样式参考 http://shanhe.me/node/18/314,修改extras.build,下载shanghe.xml

    五、集成jenkins

    1. 运行jenkins
      命令行进入jenkins目录,运行 java -jar jenkins.war
      浏览器打开http://localhost:8080/, 看到jenkins首页

       
       
    2. 新建项目
      新建->item名称->选择“自由风格”->ok,项目新建成功进入配置页

    3. 构建触发器
      想要定时构建,可以选择Build periodically,日程表参数解释如下:
      第一个参数代表的是分钟minute,取值0~59;
      第二个参数代表的是小时hour,取值0~23;
      第三个参数代表的是天day,取值1~31;
      第四个参数代表的是月month,取值1~12;
      第五个参数代表的是星期week,取值0~7,0和7都代表星期天。
      如 0 * * * * 表示每小时的第0分钟执行一次构建。
      0 16 * * 1 表示每周一16时0分执行一次。
      01 12 * * 1-5表示周一到周五的12点01分执行一次

    4. 引入ant
      构建->增加构建步骤->Invoke Ant->BuildFile 填build文件的地址


       
       
    5. 执行任务
      点击立即构建,立即运行一次任务


       
       

      在左下角BuildHistory里面可以查看运行结果详情


       
       
    6. jenkins自带的报告插件查看测试结果
      为了更加方便地查看测试报告,插件列表里面添加Publish Performance test result report和Publish HTML reports
      项目的配置增加这两块:


       
       

      !!修改xml文件生成jtl和html文件的目录到jenkins的工作目录下(jenkins设置如此吧,只能读自己工作目录的文件,不然要修改jenkins的配置太麻烦了。゚(゚´ω`゚)゚。此处经过挺多波折不细说了)

    <property name="jmeter.result.jtl.dir" value="C:Users11.jenkinsworkspacejtl" />
    <property name="jmeter.result.html.dir" value="C:Users11.jenkinsworkspacehtml" />
    

    好了再次保存后运行


     
     

    可以看到历史报告在这里了,点进去看看吧 d(`・∀・)b


     
     
    1. 测试结果发布邮件
      系统设置
      设置发件邮箱信息,注意保持发件邮箱跟管理员邮箱一致==
       
       

      smpt服务器设置每个邮箱都不一样,点击发送测试邮件,收件箱会收到测试邮件
       
       

       
       

      项目配置
       
       

      运行一下工程,会收到邮件~报告样式后续优化
       
       

    六、优化jenkins主题

    因为jenkins的字体和界面丑得有点一言难尽,于是找到了
    超棒的jenkins主题网站
    按照教程做就ok~替换主题后界面顺眼很多:扁平化、字体也好看了

     
     

    如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

    赞赏支持
     
    接口自动化Jmeter
    Gupao
    登录 后发表评论
     
     
    图图4485
    12楼 · 2018.02.28 22:47

    你好 我在jenkins发送邮件中html报告附件为啥一直收不到,能说下附件的路径格式么?

     
    shelva0324
    11楼 · 2018.01.18 15:49

    你好,我按照你说的步骤去做,但是在构建的时候,没有找到Invoke Ant这个选项,请问我该如何操作呢?谢谢。

    “增加构建步骤”的菜单里有Invoke Ant
    2018.01.18 15:58 回复
    @susie酱 我点击增加构建步骤,选项只有3个:
    Execute Windows batch command
    Execute shell
    Invoke top-level Maven targets
    2018.01.18 16:19 回复
    @shelva0324 看一下系统管理->插件管理里面有没有Ant Plugin,没有的话安装一下;
    然后在全局工具配置里配置ant
    2018.01.18 16:33 回复
    添加新评论 还有1条评论, 展开查看
    Forkey
    10楼 · 2017.08.06 11:39


    @susie酱 麻烦帮忙看下,这个是什么原因呢
    Started by user Forkey
    Building in workspace /Users/Shared/Jenkins/Home/workspace/JmeterTest
    [JmeterTest] $ /Applications/apache-ant-1.10.1/bin/ant /Applications/apache-jmeter-3.2/jmeterTest/build.xml
    Buildfile: /Users/Shared/Jenkins/Home/workspace/JmeterTest/build.xml

    BUILD FAILED
    Target "/Applications/apache-jmeter-3.2/jmeterTest/build.xml" does not exist in the project "JmeterTest".

    Total time: 0 seconds
    Build step 'Invoke Ant' marked build as failure
    Finished: FAILURE

    @Forkey 系统找不到xml的文件
    2017.08.08 09:35 回复
    Forkey
    @susie酱 嗯嗯,我后面配置好了,谢谢哈
    2017.08.08 10:27 回复
    叫我小刘
    9楼 · 2017.03.30 16:16

    如何在测试报告的Failure Detail模块显示Response Data呀,网上找了好久没找到

    你用哪一个模板呢
    2017.03.30 18:26 回复
    @susie酱 已经搞定了,jmeter.properties中设置的:fearful:
    2017.03.30 21:45 回复
    @叫我小刘 :+1:
    2017.03.31 10:32 回复
    叫我小刘
    8楼 · 2017.03.17 18:07

    测试邮件发送成功了,项目配置的邮件没有收到是什么原因呀,好急:sob:

     
    太阳当空照我要上学校
    7楼 · 2017.03.16 19:56

    "!!修改xml文件生成jtl和html文件的目录到jenkins的工作目录下(jenkins设置如此吧,只能读自己工作目录的文件,不然要修改jenkins的配置太麻烦了"
    嗨~ 这句话是说要在Jenkins 工作目录下也要创建jtl、html 文件夹么?

    然后把build.xml 文件中的路径换成 Jenkins 下的?
    2017.03.16 19:57 回复
    测试邮件发送成功了,项目配置的邮件没有收到是什么原因呀,好急:sob:
    2017.03.17 18:07 回复
    @叫我小刘 我的邮件也没有弄好,测试邮件这块都没通过,呜呜
    2017.03.17 18:08 回复
    添加新评论 还有7条评论, 展开查看
    http200
    6楼 · 2017.02.27 10:41

    susie你好,
    我执行构建的时候报错:BUILD FAILED
    /home/dongdz/apache-jmeter-3.1/script/crm/build/build1.xml:26: taskdef class org.programmerplanet.ant.taskdefs.jmeter.JMeterTask cannot be found
    using the classloader AntClassLoader[],请问是什么原因?

    @http200 是不是没有把ant-JMeter-1.1.1.jar放到ant文件夹下面
    2017.02.27 14:00 回复
    嗯嗯,可以了,谢谢
    2017.02.27 16:01 回复


    作者:susie酱
    链接:https://www.jianshu.com/p/60cb4f03b872
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    centos7内存处理
    MySQl分析工具之mysqltuner.pl及mysqlslap
    Mycat-web 安装
    【NOI2001】【Luogu P2704】【POJ1185】炮兵阵地
    【OpenJudge 7834】分成互质组
    Assignment(单调队列)
    OO’s Sequence
    【注意】邻接表
    20190405模拟测试
    【USACO2010open】时间旅行
  • 原文地址:https://www.cnblogs.com/a00ium/p/10296088.html
Copyright © 2011-2022 走看看