zoukankan      html  css  js  c++  java
  • Jenkins集成Jmeter接口测试(Freestyle Project)

    依赖工具

    服务器:配置Jenkins、Maven、Java环境
    Jenkins插件:HTML Publisher plugin,Startup-trigger,Groovy

    实现流程

    1. 在Jenkins创建一个Maven项目(依赖插件:Maven Integration plugin
    2. 勾选参数化构建过程,并输入:
    key value
    名称 targetTagName
    默认值 qt_fns
    描述 JMX文件的文件名(不带后缀),用作:1、运行该文件名的脚本,如:groovy.jmx2、生成该文件名的报告,如:groovy.html

    img
    3. 源码管理配置
    img
    4. 配置构建触发器
    img

    1. 配置 Build 内容,输入:
    key value
    Root POM pom.xml
    Goals and options clean verify -D jmxName="${targetTagName}"

    img
    6. 配置 Post Steps,选中 Run regardless of build result ,添加 执行 shell 步骤,并输入

    grep 'class="Failure"' ./target/jmeter/html/${targetTagName}.html && exit 1 || echo "Run test successed"
    

    img

    1. 添加构建后操作:Publish HTML reports(依赖插件:HTML Publisher plugin),并输入:
    key value
    HTML directory to archive ./target/jmeter/html/
    Index page[s] ${targetTagName}.html
    Report title HTMLReport

    img
    8. 添加构建后操作:Editable Email Notification,并输入

    Project Recipient List(收件人邮箱) liangrongfeng@7tao.net
    Content Type 选中:HTML(text/html)
    Default Subject $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!

    在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 width="95%" cellpadding="0" cellspacing="0"
            style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
            <div>本邮件由系统自动发出,无需回复!
                <br />
                <br>各位同事,大家好,以下为${PROJECT_NAME }自动化测试项目构建信息
                <br />
                <div>
                    <font color="#CC0000">构建结果 - ${BUILD_STATUS}</font>
                </div>
            </div>
            <div>
                <h4>
                    <font color="#0B610B">构建信息</font>
                </h4>
                <hr size="2" width="100%" />
                <ul>
                    <li>项目名称 :${PROJECT_NAME}</li>
                    <li>构建编号 :第${BUILD_NUMBER}次构建</li>
                    <li>触发原因: ${CAUSE}</li>
                    <li>构建状态: ${BUILD_STATUS}</li>
                    <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a>
                    <li>工作目录: <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
                    </li>
                    <li>构建 Url  : <a href="${BUILD_URL}">${BUILD_URL}</a>
                    </li>
                    <li>项目 Url  : <a href="${PROJECT_URL}">${PROJECT_URL}</a>
                    </li>
                </ul>
            </div>
            <div>
                <h4>
                    <font color="#0B610B">测试报告</font>
                </h4>
                <hr size="2" width="100%" />
                <b>点击查看测试报告: <a href="${PROJECT_URL}${BUILD_NUMBER}/HTMLReport">${PROJECT_URL}${BUILD_NUMBER}/HTMLReport</a></b>
            </div>
    https://jenkins.testops.top/job/jmeter3/28/APITest/
            <div>
                <h4>
                    <font color="#0B610B">构建日志 (最后20行):</font>
                    <hr size="2" width="100%" align="center" />
                </h4>
            </div>
            <div>
                <ul>
                    <li>${BUILD_LOG, maxLines=22}</li>
                </ul>
            </div>
        </div>
    </body>
    </html>
    
    1. 需要在Jenkins系统配置中,配置发送邮件信息,如:
      img

    嵌入当前自动发布流程

    1. FNS项目在Jenkins构建成功后,触发『测试项目』执行
      img
    2. 执行后,生成测试报告,样式如下
      img
    3. 接口测试失败,可发送邮件,成功则不发送
      img

    其他问题

    打开报告后不显示样式

    如:

    image-20210609115452923

    解决方法:

    1. 安装Startup-trigger和Groovy插件
      image-20210609142513096
      img

    2. 在Job配置页面,构建触发器,勾选Build when job nodes start
      img

    3. 在Job配置页面,增加构建步骤Execute system Groovy script,在Groovy Command中输入下面命令,即可

    System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
    

    img

  • 相关阅读:
    java基础--日期--练习集锦
    java基础-数字与字符串-练习集锦
    java-多态-之疑惑
    java-接口与多态-
    java基础 -继承-练习集锦
    java基础-对象-练习集锦
    java基础--数组--练习集锦
    hibernate第二天
    jquery的一些笔记
    struts入门2
  • 原文地址:https://www.cnblogs.com/testopsfeng/p/14866726.html
Copyright © 2011-2022 走看看