【Jmeter篇】Jmeter+Ant+Jenkins接口自动化测试集成之半路逆转(二)

【Jmeter篇】jmeter+Ant+Jenkins接口自动化测试集成(一)

一、更改方案

由于上一篇文章【Jmeter篇】jmeter+Ant+Jenkins接口自动化测试集成(一)中build.xml在cmd下执行ant正常且生成jtl文件和html文件,但是在jenkins构建多次一直失败,未能生成jtl文件和html文件,偶尔成功1次,未能找到解决原因,所以这篇文章更改了build.xml文件和jmx、jtl、html、build存放路径等。

更改如下:

1、下载jmeter.results.shanhe.me.xsl放到jmeter的extras目录下

2、创建文件目录

uncleyong jmeter路径下

  --jmeter_script 存放jmeter脚本 .jmx

  --result

    --html 存放生成的html测试报告

    --jtl 存放生成的jtl测试报告

  build.xml build文件

3、build.xml文件更改如下

<?xml version="1.0" encoding="utf-8"?>
<!--
 * @QQ交流群 : 652122175
 -->
<!-- 名称 -->
<project name="uncleyong_jmeter_test" default="all" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMdd_hhmm" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->
    <property name="jmeter.home" value="C:\jmeter\apache-jmeter-5.0" />
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="C:\jmeter\apache-jmeter-5.0\uncleyong\result\jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="C:\jmeter\apache-jmeter-5.0\uncleyong\result\html" />
    <!-- 生成的报告的前缀 -->
    <property name="ReportName" value="result_" />
    <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="ComputerName" value="uncleyong" />

  <target name="all">
        <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="C:\jmeter\apache-jmeter-5.0\uncleyong\jmeter_script" 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-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>

二、集成Jenkins配置及构建

1、管理员登录jenkins系统,进入系统管理》插件管理

2、再可选插件和已安装插件搜索ANT,确认并安装成功

3、安装完成之后,进入系统管理》全局工具配置,配置ANT变量路径

4、配置JDK和ANT,点应用-保存

Name随便填写,ANT_HOMEt填写自己的JDK和ANT安装目录

4、新建job,输入任务名,新建一个自由风格的任务,点确定

5、构建—增加构建步骤,选Invoke Ant,展开Targes,点开高级,配置如下,点应用-保存

Build File C:\jmeter\apache-jmeter-5.0\uncleyong\build.xml

6、安装插件HTML Publisher

7、点创建的任务—配置,构建后操作选Publish HTML reports

8、点新增,配置如下,点应用保存

HTML directory to archive 存放html测试报告的路径C:\jmeter\apache-jmeter-5.0\uncleyong\result\html

Index page[s] 配置所有html *.html

9、选任务ANT_Jmeter,点立即构建,并查看控制台输出日志信息,看到BUILD SUCCESSFUL说明构建成功

10、构建成功后,可以去之前创建的目录文件C:\jmeter\apache-jmeter-5.0\uncleyong\result\jtl下生成了jtl文件,C:\jmeter\apache-jmeter-5.0\uncleyong\result\html下生成了html文件。jenkins左边栏显示了HTML Report,点击查看生成的html测试报告

11、点击html测试报告名称或打包下载查看测试报告内容,这样我们就完成了jmeter+ant+jenkins集成

本文分享自微信公众号 - 橙子探索测试(chengzitest)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

12-14 06:17