zoukankan      html  css  js  c++  java
  • Jmeter+ant+Jenkins构建接口自动化测试

    1、已写好jmeter脚本
    2、安装ant并将ant-jmeter-1.1.1.jar文件放入ant/lib目录,用于调用jmeter
    3、修改jmeter的jmeter.properties文件(将下面配置直接放入改文件):

    		    jmeter.save.saveservice.output_format=xml 
    			jmeter.save.saveservice.data_type=true
    			jmeter.save.saveservice.label=true
    			jmeter.save.saveservice.response_code=true
    			# response_data is not currently supported for CSV output
    			jmeter.save.saveservice.response_data=true
    			# Save ResponseData for failed samples
    			jmeter.save.saveservice.response_data.on_error=false
    			jmeter.save.saveservice.response_message=true
    			jmeter.save.saveservice.successful=true
    			jmeter.save.saveservice.thread_name=true
    			jmeter.save.saveservice.time=true
    			jmeter.save.saveservice.subresults=true
    			jmeter.save.saveservice.assertions=true
    			jmeter.save.saveservice.latency=true
    			jmeter.save.saveservice.connect_time=true
    			jmeter.save.saveservice.samplerData=true
    			jmeter.save.saveservice.responseHeaders=true
    			jmeter.save.saveservice.requestHeaders=true
    			jmeter.save.saveservice.encoding=false
    			jmeter.save.saveservice.bytes=true
    			jmeter.save.saveservice.url=true
    			jmeter.save.saveservice.filename=true
    			jmeter.save.saveservice.hostname=true
    			jmeter.save.saveservice.thread_counts=true
    			jmeter.save.saveservice.sample_count=true
    			jmeter.save.saveservice.idle_time=true
    

    4、网上找个jmeter.results.shanhe.me.new.xsl包放入jmeterextras目录中:报告输出模板

    5、新建一个TestCase(用于放测试脚本及报告和构建文件build.xml)

    6、在TestCase新建report文件和build.xml文件,及将执行脚本放入TestCase文件中:
    report文件新建HTML和JTL文件夹用于存放生成的html报告及jtl文件
    build.xml文件内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <project name="ant-jmeter-test" default="run" basedir=".">
    <!-- 需要改成自己本地的 Jmeter 目录-->  
    <property name="jmeter.home" value="E:apache-jmeter-5.0apache-jmeter-5.0" />
    <property name="report.title" value="接口测试"/>
    <!-- jmeter生成jtl格式的结果报告的路径--> 
    <property name="jmeter.result.jtl.dir" value="E:apache-jmeter-5.0apache-jmeter-5.0TestCase
    eportJTL" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="E:apache-jmeter-5.0apache-jmeter-5.0TestCase
    eportHTML" />
    <!-- 生成的报告的前缀-->  
    <property name="ReportName" value="TestReport" />
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.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"指包含此目录下的所有jmeter脚本-->
            <testplans dir="E:apache-jmeter-5.0apache-jmeter-5.0TestCase" 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>
    <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.shanhe.me.new.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>
    

    7、安装Jenkiins 并构建jmeter脚本
    在这里插入图片描述

    在这里插入图片描述

    构建环境选用调用ant,把刚配置好的构建文件build.xml路径放到构建文件中,
    再添加一个window批处理命令,用于删除上次产生的jtl文件(作用:使报告不产生重复数据):
    cd E:apache-jmeter-5.0apache-jmeter-5.0in
    E:
    del /s /Q E:apache-jmeter-5.0apache-jmeter-5.0TestCase eportJTLTestReport.jtl
    pause
    在这里插入图片描述
    构建后操作添加一个Publish Html report(插件自行下载)用于在jenkins上显示报告,对应加上测试报告文件路径及报告名称
    在这里插入图片描述

    新增一个构建后操作:邮件发送,Editable Email Notification
    在这里插入图片描述

    Default Content(报告样式)可到网上自己找或自己写一个:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title></head>
      <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
        <div>
          <table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
            <tr>
              <th align="center" colspan="2">
                <br />
                <h2>构建信息</h2></th>
            </tr>
            <tr>
              <td>
                <ul>
                  <li>项目名称 : ${PROJECT_NAME}</li>
                  <br />
                  <li>详细测试报告 :
                    <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                  <br />
                   <li>说明:打开测试报告地址后请点击HTML Report查看报告详情</li>
                  <br />
                  <li>触发原因: ${CAUSE}</li>
                  <br />
                  <li>项目 Url :
                    <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                  <br /></ul>
              </td>
              <td>${JELLY_SCRIPT,template="html"}
                <br/></tr>
            <tr>
              <td colspan="2" align="center">
                <br />
            </tr>
            <tr>
              <td colspan="2" align="center">
            </tr>
          </table>
        </div>
      </body>
    </html>
    

    8、Jenkins发送邮箱配置---系统配置:
    在这里插入图片描述

    Password为邮箱客户端授权密码
    Default Content:配置默认格式
    在这里插入图片描述
    在这里插入图片描述

    9、集成到钉钉发送钉钉提示信息:
    系统配置-插件管理下载钉钉插件
    10、在构建项目-配置中新增构建后操作添加钉钉机器人后复制对应的 token就可以了:
    在这里插入图片描述

    11、测试报告:
    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    scrapy通过修改配置文件发送状态邮件
    python高级编程读书笔记(一)
    linux,mac安装sentry
    mac安装sentry
    pop3设置
    流程图
    车险或将二次费改 又可以省钱了?
    ATM:模拟实现一个ATM + 购物商城程序
    作业1开发一个简单的python计算器
    re正则表达式
  • 原文地址:https://www.cnblogs.com/CesareZhang/p/10772833.html
Copyright © 2011-2022 走看看