Jenkins+Jmeter+Ant自动化集成环境搭建

Jenkins + Jmeter +Ant自动化集成环境搭建


软件测试技术交流群 : 429183023 


2017-03-24更新,部分网友反映build.xml文件设置有问题,之前版本的blog的确是没有贴出来具体的build设置,此次更新已经给出参考配置


注意:大家有什么问题的,可以加群一起聊,或者评论留言


搭建环境(此篇blog编写时候的搭建环境,目前云盘已经上传JDK、Ant、Jmeter、Jenkin最近版本):

JDK:jdk1.7.0_79

Ant:apache-ant-1.9.7

Jmeter: apache-jmeter-2.13

Jenkins: jenkins-1.651.1

以上安装包以及相关工具,jmeter常用插件下载地址:

http://pan.baidu.com/s/1pKWPi5d

 

  1. JDK安装:
    1. 双击JDK安装包,选择安装路径(为了节省C盘系统盘空间,不建议选择默认路径。本人所有相关软件全部安装在 D:\Progrom Files目录下,例如Jdk安装在D:\Progrom Files\Java\jdk1.7.0_79路径下);

    1. 配置JDK环境变量:

1)系统变量→新建 JAVA_HOME 变量 。

变量值填写jdk的安装目录(本人是 D:\Progrom Files\Java\jdk1.7.0_79);

 

2)系统变量→寻找 Path 变量→编辑

在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

 

3)系统变量→新建 CLASSPATH 变量

变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一点)

系统变量配置完毕

 

4)检验是否配置成功 运行cmd 输入 java -version (java 和 -version 之间有空格)

若如图所示 显示版本信息 则说明安装和配置成功。

 

  1. Jmeter安装:
    1. 解压apache-jmeter-2.13.zip到D:\Progrom Files目录下。

    2. Jmeter插件的安装。解压JMeterPlugins-Extras-1.3.0.zip、JMeterPlugins-Standard-1.3.0.zip,将对应ext目录下的文件拷贝到D:\Progrom Files\apache-jmeter-2.13\lib\ext目录下;

    3. 配置jmeter环境变量:

    1) 设置环境变量,新建系统变量在变量名中输入:JMETER_HOME,变量值中输入:D:\Progrom Files\apache-jmeter-2.13,点击确定即可。

    2) 在环境变量CLASSPATH中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;

    在环境变量Path中添加%JMETER_HOME%\bin
    3) 检验是否配置成功 运行cmd 输入 jmeter -v (jmeter和 -v 之间有空格)

    若如图所示 显示版本信息 则说明安装和配置成功。

  2. 安装Ant
    1. 解压apache-ant-1.9.7-bin.zip到D:\Progrom Files目录下;

    2. 配置Ant环境变量
      1. 新建以下环境变量:

        ANT_HOME:D:\Progrom Files\apache-ant-1.9.7,此为你的ANT安装路径;

        设置完成后,点击"确认"来保存。

      2. 在环境变量PATH的最后面添加一下内容:

        ;%ANT_HOME%\bin 注意前面的分号,如果PATH中最后没有分号";"的话要加上,有的话就可去除。

      3. 进入cmd命令窗口,在CMD窗口中输入ant -version,敲击回城键,会显示出你安装的ANT版本,如果成功显示,说明你的配置应该是成功了.
    3. 本地调试使用ant构建运行Jmeter,并且生成jtl、Html报告;
      1. jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml;
      2. 将apache-jmeter-2.13\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.7\lib目录下;
      3. 在\apache-jmeter-2.13\extras目录下打开CMD,运行"ant.bat -file build.xml -Dtest=Test" . 查看\apache-jmeter-2.13\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功。注意:Test.jmx是默认存在的Sample脚本文件。

        若构建失败,请分析cmd打印的日志消息,定位问题;

      4. build文件推荐设置:

      5. <!-- 这个是推荐build,至于原理,大家可以查看ant-jmeter-1.1.1.jar源码 -->  
        
        
        


      6. <?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="D:\Program Files\apache-jmeter-3.1\extras" />
            <!-- 需要改成自己本地的 Jmeter 目录-->  
            <property name="jmeter.home" value="D:\Program Files\apache-jmeter-3.1" />
            <!-- jmeter生成jtl格式的结果报告的路径--> 
            <property name="jmeter.result.jtl.dir" value="${basedirectory}" />
            <!-- jmeter生成html格式的结果报告的路径-->
            <property name="jmeter.result.html.dir" value="${basedirectory}" />
        	<!-- 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}/${test}.jtl" />
            <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.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="${basedirectory}" includes="${test}.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-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>
  3. 安装Jenkins:
    1. 本人安装的是jenkins-1.651.1.msi安装版,也可自行选择安装Jenkins其他版本;
    2. 双击jenkins.msi启动安装,安装目录选择D:\Progrom Files\Jenkins,然后启动成功。
    3. Jenkins服务默认端口为8080,如与其他服务冲突,可在..\Jenkins\jenkins.xml中修改默认端口,如我这里修改为--httpPort=7033;

    4. Jenkins服务默认是自动启动的,如果想修改为手动启动,请自行管理->服务,找到Jenkins服务,修改为手动启动即可。

    5. 打开Jenkins,首次进入会默认让你选择安装插件(此处如果完全不清楚自己需要什么插件,建议全选)。插件安装完成之后,需要设置登录用户,按照自己喜好设置即可。
    6. 进入Jenkins主页:

    1. 系统设置->管理插件->可选插件,搜索Performance plugin(Jmeter报告需要),安装此插件;

    2. Jenkins设置Ant的环境变量:
      1. 系统设置->Global Tool Configuration,找到ant,新增Ant,输入Ant的Name,安装路径;

    3. Jenkins设置邮件:
      1. 按照如图所示设置即可,本处设置的是QQ企业邮箱的服务,其他邮箱按照类似设置即可。

      1. 测试邮件发送成功之后,Extended E-mail Notification参照上面的设置即可。(注意:必须配置,否则后期项目构建发送邮件将失败)

         

    4. 配置测试项目
      1. 新建测试项目(接口测试) :

        在Jenkins首页左边 点击新建 -> 选择"构建一个自由风格的软件项目",输入Item名称(中英文不限,建议使用英文) –> 点击OK,进入你新建的测试项目的配置页面;

      2. 项目配置步骤1:

        a、描述:用于编写该项目的介绍(请忽略);

        b、丢弃旧的构建:这里勾选上,为了避免多余的构建日志、临时文件占磁盘空间,需要定期的清除过期文件。例如这里选择保存3天之内的构建文件,最大保存N个构建项目的文件;

        具体设置如下图所示:

      3. 项目配置步骤2:
        1. 配置工作空间:

          点击高级项目选项右侧的高级 -> 勾选使用自定义的工作空间;

          目录填写你的Jmeter安装目录\extras即可。说明:比如上面步骤中,大家的jmeter安装目录为D:\Progrom Files\apache-jmeter-2.13,则此处填写D:\Progrom Files\apache-jmeter-2.13\extras;

           

          (说明:设置工作目录主要是ant构建时用到了该目录下的build.xml文件,以及的的jmx脚本文件、jtl文件、html文件存放在此处; 准确的来说,此工作目录与jmeter没有任何关系,只是初学为了避免干扰,这里直接将工作空间与jmeter直接联系在了一起。)

      4. 项目配置步骤3:
        1. 源码管理,这里不涉及,选择none;
        2. 构建触发器:选择此项目构建的触发条件,例如本项目的是为了实现接口的定时监控,于是选择Build periodically(定期构建)。

          注意:关于定期构建参数的说明:"* * * * *",总共有5个参数,分别代表分(0~59)、时(0~23)、天(1~31)、月(1~12)、周(0~7,0和7表示星期天);

        3. 构建 -> 增加构建操作 -> Execute Windows batch command ;

          此处编写删除jtl文件的命令(因为Jmeter运行jmx脚本文件,生成jtl报告文件。如果存在同名的jtl文件,并不会覆盖,而是追加,所以每次构建运行jmeter脚本文件之前需要删除jtl文件):

          del "D:\Progrom Files\Jenkins\jobs\apache-jmeter-2.13\extras"\***.jtl

         

      5. 项目配置步骤4:

        Invoke Ant配置

        1. Ant Version 选择之前在jenkins设置的ant;
        2. Properties 填写test=***,此处***为你的jmeter 文件名字(不带.jmx)。

          说明:此处test=***的原因,可以查看工作目录extras下的build.xml文件中有这样的一段代码:<property name="test" value="Test"/>,test变量的默认值是Test,我们Properties就是为了给build.xml文件的变量重新赋值的。建议自行了解build.xml文件的结构;

      6. 项目配置步骤5:
        1. 新增构建后操作Archive the artifacts,add a New report(JMeter),

          填写用于存档的文件"**/+++.html",这里+++与你的jmx文件名一致;

          填写Report files: **/---.jtl,这里---与你的jmx文件名一致;

           

        1. 新增构建后操作E-mail Notification

        1. 新增构建后操作Editable Email Notification,如图

        然后选择 -> Advanced Settings... ,出现Triggers,这里我们可以根据需要增加Triggers。例如本人增加了Failure – Still(持续失败)的情况下邮件报警;

        Recipient List :收件人的邮箱,用";"间隔

        SubJect:邮件标题

        Content: 邮件内容,可以按照HTML格式编写。

        如图所示

 

到这里整套环境就搭建完成了,可以自行构建测试是否达到预期;

 

发布了15 篇原创文章 · 获赞 35 · 访问量 25万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章