zoukankan      html  css  js  c++  java
  • Jmeter3.1、Ant、Jenkins接口自动化平台配置

    安装操作详见:https://www.cnblogs.com/jxba/p/9218407.html

    本文配置参考:

    https://testerhome.com/topics/13389 等

    jmeter

    追加jmeter安装目录下的in到path环境变量后,dos中输入jmeter,windows会直接打开jmeter

     数据准备

    1、脚本存放路径:D:1Test2Jmeterscripts

     


    如:

    2、build执行文件存在了D:1Test2Jmeterscripts eports,命名为:build_report_module.xml。(注:一般build文件存放在ant/bin目录下,本人测试使用,每个项目build文件不一定要一致,所以存放在此处,该文件可任意存放,只要用的时候其目录填写正确即可)

    未来test下jmx的执行结果报告也将存放在此目录D:1Test2Jmeterscripts eports(在build文件中配置,内容如下)

    <?xml version="1.0" encoding="UTF-8"?>
    <project name="ant-jmeter-test" default="run" basedir=".">
          <tstamp>
            <format property="time" pattern="_yyyyMMdd_HHmmss" />
        </tstamp>
        <!-- 需要改成自己本地的Jmeter路径,路径根据自己情况更改-->  
        <property name="jmeter.home" value="D:1Test2Jmeterapache-jmeter-3.1" />
        <property name="report.title" value="接口测试"/>
        <!-- jmeter生成jtl格式的结果报告的路径,路径根据自己情况更改--> 
        <property name="jmeter.result.jtl.dir" value="D:1Test2Jmeterscripts
    eports" />
        <!-- jmeter生成html格式的结果报告的路径,路径根据自己情况更改-->
        <property name="jmeter.result.html.dir" value="D:1Test2Jmeterscripts
    eports" />
        <property name="detail" value="_detail" />
        <!-- 生成的报告的前缀-->  
        <property name="ReportName" value="Report" />
        <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="jmeter.result.jtlNamedetail" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
        <property name="jmeter.result.htmlNamedetail" value="${jmeter.result.html.dir}/${ReportName}${time}${detail}.html" />
    
        <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"指包含以下路径下的所有jmx,如需执行多路径下的脚本,则将路径分别加载testplans里,路径根据自己情况更改-->
                <testplans dir="D:1Test2Jmeterscripts	est3N" includes="*.jmx" />
                <testplans dir="D:1Test2Jmeterscripts	est3" includes="*.jmx" />
                <testplans dir="D:1Test2Jmeterscripts	est2" includes="*.jmx" />
                <testplans dir="D:1Test2Jmeterscripts	est" includes="*.jmx" />
    
                <property name="jmeter.save.saveservice.output_format" value="xml"/>
            </jmeter>
        </target>
    
        <path id="xslt.classpath">
            <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
            <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
        </path>
    
    
    <!-- 生成2个报告,一个概要的,一个详细的 --> 
           <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>
       <xslt 
              classpathref="xslt.classpath"
              force="true"
              in="${jmeter.result.jtlNamedetail}"
              out="${jmeter.result.htmlNamedetail}"
              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>
    build_report_module.xml

    jenkins插件下载

    需要下载的插件,包括但不不限于以下:

    Localization: Chinese (Simplified)            中文显示

    Ant Plugin

    Email Extension Plugin

    Build Pipeline Plugin 

    Performance Plugin

    HTML Publisher plugin

    Groovy

    Groovy Postbuild 

    Groovy Remote Control Plugin

    系统管理--系统设置

    配置如下信息信息配置

     该邮箱地址需要记住,job中的邮件配置会用到

     

     以上配置中的密码非邮箱登录密码,而是QQ邮箱的授权码,

    SMTP服务开启操作见:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=166&&id=28

    QQ邮箱授权码查看:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28

    jenkins创建job

    job名字自定义,选择自由风格软件项目

    本人命名为:HTTP_baidu

    配置job

    工作区

    在general-高级中设置,(下面的构建后操作的配置需要用到,本项目所有的脚本、报告、执行文件都将在该目录下存放和生成)

    构建触发器

    根据操作说明(点击?可查看)编写,如定时任务

    构建信息

    build file:build文件的路径,本人build文件命名为:build_report_module.xml,存放在:D:1Test2Jmeterscripts eports下

     构建后操作(如果没有,需要下载插件)

    publish HTML reports 

    注:

    HTML directory to archive:是指需要jenkins加载在jenkins上的html文件所在的路径,这些html文件为我们执行自动化测试后生成的reports文件,该路径为工作区的相对路径,工作区的设置见上面。如本人工作区路径为:D:1Test2Jmeterscripts,ant执行后生成的report文件存放路径是在在build文件中配置,将存放在D:1Test2Jmeterscripts eports下,也就是本插件所用到的html文件将在D:1Test2Jmeterscripts eports下生成,所以直接写reports即可。(这些目录需提前建好)

    Index page[s]:*。html,即将所有的html文件加载在jenkins的页面上。

     publish performance test result report

    Source data files (autodetects format):是指需要jenkins加载在jenkins上的jtl文件所在的路径,这些jtl文件为我们执行自动化测试后生成的文件,该路径为工作区的相对路径,工作区的设置见上面。如本人工作区路径为:D:1Test2Jmeterscripts,ant执行后生成的jtl文件存放路径是在在build文件中配置,将存放在D:1Test2Jmeterscripts eports下,也就是本插件所用到的jtl文件将在D:1Test2Jmeterscripts eports下生成,所以直接写reports*jtl即可。(这些目录需提前建好)

    其他配置信息默认~

    Editable Email Notification

     default content内容如下

    <!DOCTYPE html>  
    <html>  
      
    <body>  
        <h3>以下是Jenkins自动发送的邮件,请勿回复!</h3> 
      </body>  
    </html>
    <hr/
    项目名称:$PROJECT_NAME<br/><hr/>
    构建编号:$BUILD_NUMBER<br/><hr/>
    构建状态:$BUILD_STATUS<br/><hr/>
    触发原因:${CAUSE}<br/><hr/>
    构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/>
    构建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>
    变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
    default content

    Editable Email Notification中点击高级,设置发送邮件触发器

     job保存,配置完成

    另一个前置的job

    因为jenkins加载的html会出现显示不正常的现象,所以创建另一个job,名字随意命名(本人命名:Build when job nodes start),配置其构建条件和构建执行的脚本即可。

    脚本:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

    构建

    选择创建的job,选择构建

     首次构建先执行前置job:Build when job nodes start (以后都不用执行了~)

    再执行本次测试job:HTTP_baidu

    构建成功,自动发送测试报告邮件

    截图如下

     

    至此,over

    一路上遇到很多拦路虎,不过按照这样设置,应该不会再有问题了~,拦路虎以后有时间再梳理。

     

     

     

  • 相关阅读:
    新浪推出开放云计算平台Sina App Engine
    摄像机标定
    Qt开发环境大全
    [转]卡尔曼滤波器
    Qt Creator:跨平台 IDE
    建立交叉编译的Qt/Embeded开发环境
    Linux mmap
    QtCreator在不同平台开发的程序的运行
    粒子滤波概述
    13、几点小结,unsigned long long
  • 原文地址:https://www.cnblogs.com/jxba/p/11824182.html
Copyright © 2011-2022 走看看