一、什么是接口测试
  接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
  接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。
  接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比,接口测试天生为高复杂性的平台带来高效的缺陷监测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果越明显。
  基于接口测试的重要性,以及它比较容易自动化的特性,通过持续集成的接口监控能够及时的发现项目中存在的问题,这对持续运营的项目来说,非常重要。
  二、接口测试的流程
  1、 项目启动后,测试人员要尽早找到开发人员拿到接口测试文档
  2、 获取接口测试文档后,就可以进行接口用例的编写和调试
  3、 接口用例编写调试完成后,部署到持续集成的测试环境中,
  4、 设定脚本运行频率,告警方式等基本参数,进行接口的日常监控
  5、 每日进行接口脚本的维护更新,接口异常的处理
  三、编写接口测试脚本
  大部分性能工具都可以用来进行接口测试,jmeter就是一个好用的性能测试工具,他也同样可以用来进行接口测试,jmeter比较适用于CGI、webservice、DB等类型的接口测试。下面以websevice api接口为例说明如何编写接口测试用例(本文侧重于接口测试平台的搭建,对于具体工具是使用只进行简单介绍,对于工具不了解的,可以自行百度):
  jimter接口脚本的编写步骤如下:
  1、 编写接口请求
  通过录制或者查看接口文档,编写接口请求,进行调试,确保接口调试通过
  对于http的请求来说,就是正确的填写域名,查询字符串,查询参数等信息
  2、 对接口的返回结果进行断言
  断言的目的是对输出结果进行判断,确认接口测试结果是否有异常
  这些工作完成后,接口测试脚本就准备好了
四、生成接口测试报告
  接口测试脚本运行后生成的是JTL(xml)格式的文件,这些文件不具备可读性,因此我们要把他转化为可以阅读的html格式报告。
  转化的步骤如下:
  1、 安装ant工具
  Ant是一个功能强大的打包编译工具。我们使用他的目的是将xml文件转化为html格式的文件
  2、 找到jmeter自带的xsl文件
  Xml文件要转化为html文件,需要编写xsl文件,实际上,jmeter已经自带了xsl文件,如果你不想自己定义格式的话,可以直接使用自带的格式,这样可以省不少事情。这些文件的位置位于jmeter的extras文件夹下,只需要简单修改一些文件路径配置就可以正常使用。
  3、 编写ant的buildfile文件
  Ant自带了把XML转化为html的lib库,因此,这个转化也是相当简单的,示例如下:
<target name="xslt-report" depends="_message_xalan">
<tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp>
<xslt
classpathref="xslt.classpath"
force="true"
in="${resultpath}/${test}-${TODAY}.jtl"
out="${resultpath}/${test}-${TODAY}.html"
style="${jmeter.extras}/jmeter-results-detail-report${style_version}.xsl">
<param name="showData" expression="${show-data}"/>
<param name="titleReport" expression="${report.title}"/>
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
</target>
  完整的buildfile文件,请自行百度
  4、 运行ant命令,生成html文件
  Cmd运行ant –buildfile xsl文件,你就可以生成html报告了
  生成的测试报告如下:
  五、部署到持续集成平台
  部署到持续集成平台可以实现脚本的定时运行,这是接口测试的核心。
  这里我们选用了jenkins,,jenkins是一个强大的持续集成系统,使用起来也很简单。
  使用步骤如下:
  1、 安装jenkins
  Jenkins的安装是非常简单的
  注意:请将jenkins安装到一个空间比较大的系统盘中。因为jenkins运行起来,生成的文件比较占空间。
  2、 安装完成后,配置一个项目
3、 配置item参数
  旧的构建保存了你在一次构建中的所有临时文件,如果构建没有保留的必要,就勾选丢弃旧的构建,同时设置保持构建天使和保持构建的最大个数两个参数。
  注意:三个设置必须同时设置,否则无效
  4、 设置定时运行间隔,这里,设置间隔时间为10分钟运行一次
  5、设置invoke ant
  通过设置invoke ant,就可以调用ant,执行打包过程。在这里,也就是执行生成测试报告的步骤
  通过以上步骤,我们就成功搭建了一个简单的持续集成的接口测试平台,当然,你也可以根据自己的需要添加其他更强大的功能
 

【转】Jenkins+Ant+Jmeter搭建持续集成的接口测试平台的更多相关文章

  1. jenkins+ant+jmeter搭建持续集成的接口测试平台

    一.jemter接口脚本的编写步骤如下: 1. 编写接口请求 通过录制或者查看接口文档,编写接口请求,进行调试,确保接口调试通过,对于http的请求来说,就是正确的填写域名,查询字符串,查询参数等信息 ...

  2. Jenkins+Ant+Jmeter搭建持续集成的接口测试平台(转)

    一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...

  3. 【接口测试】Jenkins+Ant+Jmeter搭建持续集成的接口测试平台

    参考文档: http://www.cnblogs.com/liuqi/p/5224579.html

  4. jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)

    jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter) 一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/jav ...

  5. Docker+Jenkins+Maven+SVN搭建持续集成环境

    Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...

  6. jenkins+ant+jmeter实现自动化集成(详解)

    jenkins+ant+jmeter实现自动化集成 for window 一.jmeter 1.jmeter安装 二.ant 1.ant安装 三.ant运行 jmeter脚本 1.配置 四.jenki ...

  7. Jenkins +Ant +Jmeter(apache-jmeter-5.1.1)自动化性能测试平台

    1.安装配置好Jdk, 下载网址:https://www.cr173.com/soft/33894.html 2.Jmeter下载地址:http://jmeter.apache.org/downloa ...

  8. Jenkins +git +python 进行持续集成进行接口测试(接口测试jenkins持续集成篇)

    使用jenkins+git+python脚本进行持续集成的接口测试,在jenkins平台,利用插件等,把管理代码的git仓库的代码更新下来进行持续接口测试,python进行开发测试脚本,git进行远程 ...

  9. Jmeter+Ant+Jenkins搭建持续集成的接口测试框架

    https://my.oschina.net/hellotest/blog/516079 摘要: 一个系统通常有多个接口,软件的生命周期中,我们会不断的去优化老的接口和开发新的接口,那么在这个过程中, ...

随机推荐

  1. StrStr,判断一个字符串是不是另一个字符串的字串,并返回子串的位置

    public int strStr(String haystack, String needle) { if(haystack == null || needle == null) { return ...

  2. 十二道MR习题 - 3 - 交集并集差集

    题目 有两个文件A和B,两个文件中都有几百万行数字,现在需要找出A文件和B文件中数字集合的交集.并集.以及A对B的差集. 简单说一下思路: 这个问题关键在于key和value的设计.这里我将文件中的数 ...

  3. Node.js基础知识普及

    Node.js只支持单线程,故不会产生死锁,采用非阻塞I/O机制和事件环机制.非常适合与开发需要处理大量并发的输入/输出的应用程序.   一. Node.js的核心模块有很多,这里先写几个比较常用的( ...

  4. python学习笔记(time.time方法)

    time.time()方法 返回的是 1970纪元后经过的浮点秒数 比较简单 总结如下: #!/usr/bin/env python # -*- coding: utf_8 -*- import ti ...

  5. Redis 应用笔记

    模糊匹配 语法:KEYS pattern 说明:返回与指定模式相匹配的所用的keys. 该命令所支持的匹配模式如下: (1)?:用于匹配单个字符.例如,h?llo可以匹配hello.hallo和hxl ...

  6. maven 其他远程仓库配置

    在平时的开发中,我们往往不会使用默认的中央仓库,默认的中央仓库访问的速度比较慢,访问的人或许很多,有时候也无法满足我们项目的需求,可能项目需要的某些构件中央仓库中是没有的,而在其他远程仓库中有,如JB ...

  7. 内存保护机制及绕过方案——从堆中绕过safeSEH

    1.1    SafeSEH内存保护机制 1.1.1    Windows异常处理机制 Windows中主要两种异常处理机制,Windows异常处理(VEH.SEH)和C++异常处理.Windows异 ...

  8. LeetCode OJ:Reverse Linked List II(反转链表II)

    Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1-> ...

  9. xhtml html

    xhtml是用xml语言重写了html,相比html更规范了, XHTML是HTML像XML的一个过渡语言,它比HTML严谨性会高点,然后基本语言都还是沿用的HTML的标签,只不过废除了部分表现层的标 ...

  10. File I/O的总结

    1读写字符文件 BufferedReader br=new BufferedReader(new FileReader("文件路径")); BufferedWriter bw=ne ...