分享

ant+jmeter+jinkens 持续集成

 小猪窝969 2016-03-11
jenkins最好放在tomcat下 然后配置tomcat的配置文件 URIEncoding =“UTF-8”
这样有汉字的地方不会乱码;
 <Connector port="8080"  URIEncoding="UTF-8" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
首先安装ant
下载apache - ant安装包;配置环境变量,(包下载下来解压直接配置下环境变量就OK了,很简单应该难道不到你们吧。。。哈哈)打开cmd  输入ant,如果出现这下列
 
说明ant已经配置好了。
1.把jmeter安装包\extras目录下的ant-jmeter-*.jar放在ant的\lib目录下关联上jmeter
2.修改jmeter/bin目录下配置文件(jmeter.properties)jmeter.save.saveservice.output_format=xml 为xml格式
配置jmeter的目录架构(这个随便创建,到时候直接在build文件中直接写上路径就行)
不过最好创建的有意义一些;我的目录结构是这样的
 D:\jmeterTest\script
 build.xml文件和script文件同级(这里我就不扣图了)
下面为build.xml具体内容,其实jmeter自带的build.xml 在D:\apache-jmeter-2.13\extras路径下面是一个很不错的借鉴文档,也可以直接拿来改改直接用。
先把jmeter\lib目录下的xalan*.jar、serializer*.jar这两个jar放在ant的lib目录下
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<!--
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
-->
     <!--values是你本地jmeter安装目录-->
    <property name="jmeter.home" value="D:\apache-jmeter-2.13" />
     <!--报告title名称,修改报告名称直接修改value值-->
     <property name="report.title" value="ant_testtttttt"/>
    
    <property name="show-data" value="n"/>
    <property name="format" value="2.1"/>
   
    <condition property="style_version" value="">
        <equals arg1="${format}" arg2="2.0"/>
    </condition>
    <condition property="style_version" value="_21">
        <equals arg1="${format}" arg2="2.1"/>
    </condition>
    <condition property="funcMode">
        <equals arg1="${show-data}" arg2="y"/>
    </condition>
   
    <condition property="funcMode" value="false">
      <not>
        <equals arg1="${show-data}" arg2="y"/>
      </not>
    </condition>
    <!--生成的jtl的结果的文件路径-->
    <property environment="env"/>
    <property name="jmeter.result.dir" value="${env.WORKSPACE}/results/${env.BUILD_ID}" />
    <!--生成的html格式的报告的文件路径
    <property name="jmeter.result.dir" value="${env.WORKSPACE}/results/${env.BUILD_ID}" />
-->
     <!--生成报告的名称的前缀-->
    <property name="ReportName" value="TestReport" />
    <property name="jmeter.result.jtlName" value="${jmeter.result.dir}/${ReportName}.jtl" />
    <property name="jmeter.result.htmlName" value="${jmeter.result.dir}/${ReportName}.html" />
   
    <target name="run">
        <echo message="start..."/>
        <antcall target="clean" />
        <antcall target="test" />
        <antcall target="report" />
    </target>
<!--创建文件夹-->
    <target name="clean">
         <mkdir dir="${env.WORKSPACE}/results/${env.BUILD_ID}" />
     </target>
    <target name="test">
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
            <!--声明要运行的脚本,”*.jmx“指次目录下所有测试脚本-->
            <testplans dir="D:\jmeterTest\script" includes="*.jmx" />
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>
    <!--加载xalan*.jar、serializer*.jar(这两个jar放在ant的lib目录下这里的配置就用不到了)-->
  <!--
    <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>
        
      
         <!--
              classpathref="xslt.classpath"
               force="true"
           -->
           <xslt 
               in="${jmeter.result.jtlName}"
               out="${jmeter.result.htmlName}"
              <!--调用jemter自带的报告模板 网上还有加入百分之90的模板可以自行百度下>
               style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
               <param name="dateReport" expression="${report.datestamp}"/>
               <param name="titleReport" expression="${report.title}"/>
               <param name="showData" expression="${show-data}"/>
        </xslt>
        <!--手动copy报告的一些图片-->
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>
</project>
jinkens 的配置,创建一个自由风格的项目
 
 
可以结合performance.hpi插件创建吞吐量和响应时间的图标,可以自行百度
试了下jenkins邮件插件老是不能发送邮件成功,后期研究成功了在贴进来
现在发送邮件用的是sendmail.jar 来发送,可以直接写成一个批处理 用call  或者start "" 了来调用批处理文件实现发邮件命令,多用户接受实现了,看帮助文档说说 多附件用逗号隔开,可是按照帮助文档来实现不能实现多附件压缩,所以直接把构建后的文件夹全部压缩当成附件传送
批处理命令如下
cd  results
java -jar  %WORKSPACE%\sendmail.jar -s "测试发送邮件" -t "546995529@qq.com,wufangfang@xianglin.cn" -b "邮件为系统自动发送,附件为这次测试情况,请下载查收" --attachment "%BUILD_ID%"
-s : 设置邮件发送标题
-b :设置邮件body内容
-a <--attachment >:发送附加
-t :收件人,多用户用逗号隔开
结构如下如:
 
 
 
 


 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多