jmeter+ant+jenkins(一)


 
     jmeter+ant+jenkins
    自从知道了从fiddler可以直接导出接口请求到jmeter测试jmx文件之后,让我更加的喜欢上jmeter了,由于fiddler抓接口相当的方便,于是就设想是不是可以直接用jmeter做接口的线上轮训呢?最好还是定时自动执行的~
    当我了解到jmeter可以通过dos命令行直接启动运行时,哈哈,让我相信轮训绝对是可以的。
    那接下来就说说,怎么可以命令行执行~
 
    一、环境准备:1)JDK 2)jmeter 3)Ant 4)jenkins 安装好这些,具体的安装就上官网吧~
    二、jmeter的安装目录下的 extras 目录中,有一个jar,“ant-jmeter-1.1.1.jar”这个jar包放到ant安装目录下的lib目录中去;修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml 
    三、编写 build.xml文件(可以见附件)
    四、运行命令ant -buildfile D:\360\jmeter-result\build.xml的路径
图片
 
    五、jenkins配置 (比较low,直接用dos命令行,貌似还可以集成ant插件)   
图片  
 
    六、结果
图片
图片
 
    七、遗留问题
    1)现在只是通过邮件通知告知,是否自动执行完毕,没有将结果直接展示在邮件中~欧~后面再看看
    2)测试报告的格式不太给力,再看看有没有更好的
xsl模板文件
 
 附件:(build.xml代码)
<?xml version="1.0" encoding="UTF-8"?>
 
<project name="ant-jmeter-test" default="all" basedir=".">
<tstamp>
        <format property="time" pattern="yyyyMMdd" />
    </tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\360\apache-jmeter-3.0" />
    <!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="html" />
    <!-- 生成的报告的前缀-->
<property name="ReportName" value="测试结果-" />
<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="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}">
            <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplans dir="${jmeter.home}\bin\examples\run" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
 
<target name="report">
<xslt in="${jmeter.result.jtlName}"
      out="${jmeter.result.htmlName}"
      style="${jmeter.home}/extras/jmeter-results-detail-report_22.xsl" />
 
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
</target>
</project>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM