FIDDER+ANT+JENKINS+JMETER+SVN+tomcat接口测试集成

操作流程:
1.测试人员通过FIDDER过滤抓取接口调用信息,导出成jmx文件。(jmeter支持命令行方式调用jmx)
感谢黑夜小怪的分享(飞测上有DLL供下载)
2.jmx在jmeter上做修改后,增加线程组,断言,结果树。保存上传SVN指定位置。
3.JKENINS构建活动,使用ant 批量执行jmx脚本,并把报告转换成html格式。
4.tomcat添加虚拟主机,文件方式浏览报告。
 
一.FIDDER导出JMX。
 
 
2.生成报告
这个时候,自然而然地想到了万能的ant,希望它能有相应的jmeter task。 
 
下面简单说明一下,如果使用:
① 首先,为了能够在ant中使用jmeter task,必须将“ant-jmeter-1.1.1.jar”这个jar包放到ant的classpath中去。这个jar包位置 jmeter的安装目录下的 extras 目录中。
    PS:可直接将这个jar拷贝至ant安装目录下的lib目录中去就可以了。
② 编写脚本
    
Ant代码  
<?xml version="1.0"?>
 
<project name="ant-jmeter-test" default="all" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
 
 

<!-- 需要改成自己本地的 Jmeter 目录-->

    <property name="jmeter.home" value="E:\apache-jmeter-2.12" />
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value=".\jtl" />
    <!-- jmeter生成html格式的结果报告的路径--> 
    <property name="jmeter.result.html.dir" value=".\html" />
    <!-- 生成的报告的前缀->  
    <property name="ReportName" value="kamen" />
 
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}\${ReportName}${time}.jtl" />
 
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}\${ReportName}.html" />
    <property name="jmeter.result.htmlName2" value="${jmeter.result.html.dir}\${ReportName}2.html" />
       <target name="all">
        <antcall target="test" />
        <antcall target="report" />
        <antcall target="report2"/>
    </target>
 
    <target name="test">
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
 
            <property name="jmeter.save.saveservice.output_format" value="xml"/>

<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->

            <testplans dir="D:\jenkinshome\jobs\卡门接口\workspace\jtestcase\" includes="*.jmx" />
        </jmeter>
    </target>
 
    <target name="report">
        <xslt in="${jmeter.result.jtlName}"
              out="${jmeter.result.htmlName}"
              style="${jmeter.home}/extras/jmeter-results-report.xsl" />
 
 
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>
 
    <target name="report2">
        <xslt in="${jmeter.result.jtlName}"
              out="${jmeter.result.htmlName2}"
              style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
 <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->  
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
③ 生成的结果报告如下图
    1.  
       
       
       
      ④ 下面说一个,我在使用过程中遇到的一个问题: 就是在执行 最后生成报告的 task 时,一直报下面这个错:
          TransformerException,  Content is not allowed in prolog.
      后来在ant-jmeter官网上查到了原因: 
      Java代码  
       
      1. 1default 所以需要修改Jmeter的一个配置

        Java代码  
         jmeter.save.saveservice.output_format=xml

        再来就是配置我们的Jeknins了。

        这里就直接截个图了。配置实际上是很简单的东西的。

        这里执行的python脚本是为了进行重命名报告文件的用处。因为发送邮件的时候我们需要将html的结果显示在页面上。所以需要指定一个名字,但是我们又不想后续生成的报告都覆盖之前的报告。所以这里多了个重命名的操作。
        报告的模板的话,建议大家百度下。有个标准的模板挺好用的。
         
        (注意事项:修改build.xml文件JMX的目录为JENKINS活动更新之后的文件路径)
         
         
           
                   

JMETER+JENKINS接口测试持续集成的更多相关文章

  1. Maven+Jmeter+Jenkins的持续集成的新尝试

    前言: 这又是一篇迟到很久的文章,四月身体欠佳,根本不在状态. 好了,回到正题,相信大家也在很多博客,看过很多类似乎的文章,那么大家来看看我是如何实现的? 准备工作: 创建一个maven工程 创建一个 ...

  2. ant+jmeter+jenkins+git持续集成以及邮件报告展示

    前序准备工作: ant--下载地址:http://ant.apache.org/bindownload.cgi jmeter--下载地址:http://jmeter.apache.org/downlo ...

  3. 【iOS】Jenkins Gitlab持续集成打包平台搭建

    Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...

  4. 使用jenkins构建持续集成平台

    jenkins +   Maven + svn/git + tomcat 的持续集成平台 项目管理流程: 需求分析----原型设计----开发代码----提交测试-----内部测试-----确认上线( ...

  5. 用MSBuild和Jenkins搭建持续集成环境(2)

    http://www.infoq.com/cn/articles/MSBuild-2   作者 Mustafa Saeed Haji Ali ,译者 李剑 发布于 2012年10月23日 | 注意:  ...

  6. RF+Jenkins构建持续集成

    引入RF是为了能够快速的开展自动化验收测试,Jenkins而一种持续集成工具,用于监控持续重复的工作,持续的软件版本发布/测试项目,而通过RF+Jenkins可以有利的对RF构建的接口项目进行持续集成 ...

  7. Jenkins+Git 持续集成

    持续集成是必要的! 希望达到的效果是:开发同事签入代码后,对应的站点可以自动实现更新.目前还只在在内部服务器上实现开发环境中的站点更新,不涉及到线上的发布. 目前使用Jenkins实现这样的持续集成. ...

  8. 使用Jenkins进行持续集成ionic3项目

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.  网上大多数是关于.net web网站以及 ...

  9. 使用jenkins实现持续集成

    一.jenkins 介绍 它是一个自动化的周期性的集成测试过程,从检出代码.编译构建.运行测试.结果记录.测试统计等都是自动完成的,无需人工干预: 它需要有专门的集成服务器来执行集成构建: 它需要有代 ...

随机推荐

  1. Spring CommonsMultipartResolver上传文件小结

    自从业至今,文件上传与IO流之类的调用,一直是理解比较模糊的地方,大多就这网上搜到的资料抄抄改改草草了事,内部原理一直不甚了解,今日我们通过Spring的CommonsMultipartResolve ...

  2. Directx教程(27) 简单的光照模型(6)

    原文:Directx教程(27) 简单的光照模型(6)      从myTutorialD3D11_15到myTutorialD3D11_19的工程中,我们都只有一个光源,光源的位置在LightCla ...

  3. asp.net ajax客户端框架如何调用Web Service

    asp.net ajax客户端框架如何调用Web Service 1:Web Service类添加 [System.Web.Script.Services.ScriptService]特性2:需要异步 ...

  4. element-ui select 二级联动

    在使用select 选择框时,2个select 怎么关联在一起(第一个值发生变化,第二个select值随第一个变化而不同)  两个输入框代码 <el-form :inline="tru ...

  5. java读取properties文件总结

    一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResource ...

  6. ubuntu 代理配置

    1.安装Python 2.安装shadowsocks客户端 sudo pip install shadowsocks 3.配置shadowsocks客户端配置 vim /etc/shadowsocks ...

  7. spider csdn博客和quantstart文章

    spider csdn博客和quantstart文章 功能 提取csdn博客文章 提取quantstart.com 博客文章, Micheal Hall-Moore 创办的网站 特色功能就是: 想把原 ...

  8. linux下安装composer以及使用composer安装laravel

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/nianzhi1202/article/details/72770099 一.安装composer之前 ...

  9. SDUT-3346_数据结构实验之二叉树七:叶子问题

    数据结构实验之二叉树七:叶子问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 已知一个按先序输入的字符序列,如abd ...

  10. SDUT-3331_数据结构实验之串三:KMP应用

    数据结构实验之串三:KMP应用 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 有n个小朋友,每个小朋友手里有一些糖块, ...