随着移动互联网和微服务的迅速发展,大部分企业都采用接口的方式实现客户端和服务端的交互,传统的PC端也逐渐趋向于前后端分离架构。为了应对此种架构下的业务迭代,很多QA团队开始推广接口自动化,甚至是自研接口测试框架。

选型

一个好的接口测试框架可以抽象公共功能,有效应对业务变化,降低接口实现成本。但对于强业务相关的测试团队来说,迭代速度快,业务流程繁杂,接口难以标准化,自动化框架的维护成本非常高。对于小型QA团队来说,专人维护框架的成本过高,而留给业务测试同学编写自动化测试用例的时间又比较少。有效的接口测试需要和业务强挂钩,随着业务变更及时更新,否则接口测试就丧失了存在的意义。

面对这种情况,可以考虑采用和扩展业界已有的接口测试工具Jmeter来快速完成自动化框架构建功能。Jmeter诞生于2001年,目前已更新到5.x版本,他功能强大并且开源免费:

• 录制&回放:BlazeMeter可实现录制和脚本自动生成

• 多协议支持:支持 http、https、jdbc、jms、ftp 等等协议

• 参数化和断言支持:提供多种参数化函数和多种格式断言组件

• 图形展示:提供多种结果展示

• 易于安装:jmeter 下载解压即可用,且支持多种平台Windows/Mac/Linux

• 高扩展性:jmeter 支持用户自定义测试脚本,Beanshell/Javascript/Groovy

选定工具以后就可以在团队中进行落地和推广,首先要明确接口测试的流程,然后是多人协作时用例的组织和复用。

接口测试流程

接口测试流程和手动测试/UI测试流程类似,但侧重点不同:

• 需求分析:需求文档 VS 接口文档。

• 编写和评审用例:根据需求变更结合业务优先级,边界值等价类等分析方法设计手动测试用例;根据接口的参数组合以及接口的预期返回设计接口测试用例。

• 准备测试环境和测试脚本:接口测试需选择合适的工具实现步骤2中评审的用例。

• 执行测试用例,发送测试报告:接口测试自动运行脚本,生成和发送测试报告。

用例组织和复用

Jmeter提供了三种组件帮助复用和组合脚本片段:

• Test Fragment(测试片段)

• Module Controller(模块控制器)

• Include Controller (包含控制器)

在实际编写过程中,从下往上业务人员可以把接口测试划分为:

• Sampler级别:一个HTTP请求的发送和响应校验

• 线程组级别:一个功能点的接口测试集合

• 测试片段级别:一个测试用例的接口测试集合

• JMX脚本级别:一个测试套件的接口测试集合

每个业务人员维护功能级别的接口脚本,再通过Jmeter的脚本管理组件实现多个功能或者多个用例的自由组合,来适应不同的业务场景。

报告生成和持续集成

Jmeter提供了Ant支持,可以运行ant任务自动转化脚本运行结果为HTML报告。

由于Jmeter支持Ant构建和运行,因此可以很方便的和持续集成工具结合起来使用,以Jenkins为例,配置构建方式为Ant,指明Jmeter脚本路径即可实现脚本自动运行和报告发送功能。

作  者:Testfan Kitty

出  处:微信公众号:自动化软件测试平台

版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

录制完脚本怎么做接口自动化测试_快速构建轻量级接口自动化框架相关推荐

  1. java脚本接口自动化测试_接口自动化测试实践的记录

    接口测试实践的记录 在敏捷开发交付的流程中,自动化测试实际上被放在一个看起来挺重要的位置,而自动化测试中,接口测试是一个投入产出比比较高的 一种自动化测试的形式,而我自己也做了一个这样的脚手架一样的东 ...

  2. python3接口自动化测试_【python3+request】python3+requests接口自动化测试框架实例详解教程...

    前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自 ...

  3. jemeter python接口自动化测试平台_ant+jmeter+Jenkins接口自动化测试实战(1)

    项目中需要做接口自动化测试,于是就去做实验,做实验要从搭建测试环境开始.在学习的过程中肯定会遇到不同的问题,于是就用了两天的时间做了一个简单的接口自动化环境,中间也遇到一些问题,现在把路上踩到的坑记录 ...

  4. python 接口自动化测试_Python-基于数据驱动的接口自动化测试

    文章来源-测试干货(dahong_test) 原文链接:https://mp.weixin.qq.com/s/kNY8kkPmDqPxcEEPEthKYA http://weixin.qq.com/r ...

  5. 【接口自动化测试】使用Fitness实现接口自动化测试

    最近,工作中涉及到需要对接口进行自动化测试,因而在网上找一些相关的资料进行学习一下. 接下来,通过他山之石,以解目前困惑,也方便大家都学习一下. 随着云计算.SOA.敏捷开发的热火朝天,对于测试工程师 ...

  6. java的接口理解_原来Java的接口可以这样理解

    为什么写这篇文章 今天有人问了我这样一个问题 Java中为什么要使用接口呢? 还要先定义了一个接口,类还要实现接口的方法,还不如直接在这个类中写实现方法呢,根本没必要定义接口啊. 大概就是这样一个问题 ...

  7. java 接口 属性_浅谈java接口中定义属性

    package com.supan.reflact; public interface PersonObject { /** * 在接口中定义属性的知识点: * 1,属性默认的修饰词是:public ...

  8. lcd屏幕有mipi接口吗_液晶屏mipi接口能用的最大分辨率是多少

    1.什么是HDMI HDMI:HDMI的英文全称是"High Definition Multimedia",中文的意思是高清晰度多媒体接口.HDMI接口可以提供高达5Gbps的数据 ...

  9. java 机机接口定义_【JAVA】接口

    先问一个问题,为什么需要接口? 看例子: 需求:要求实现防盗门的功能.门有"开"和"关"的功能,所有"上锁"和"开锁"的 ...

最新文章

  1. 曝光机与曝光能量_LED曝光机
  2. 使用Android BindingAdapter与InverseBindingAdapter实现SeekBar双向(正向/反向)数据绑定...
  3. simple-android-flux,深入浅出Flux
  4. windows2003 apache php mysql_Windows 2003搭建Apache PHP MySQL环境经验分享
  5. 玩转 Tomcat 配置必备的 10 个小技巧!
  6. docker 主进程 日志_运维笔记--docker高效查看后台日志
  7. Log4j 2使用教程二 【详解】
  8. grep搜索子目录中包含某字符串的特定文件
  9. 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式
  10. 暑期训练日志----2018.8.9
  11. 关于Java交换两个对象的问题
  12. pytorch torch.arange
  13. C# WinForm开发系列 - Crystal Report
  14. js学习总结----深入扩展-js同步与异步编程
  15. 四格漫画《MUXing》——请客记
  16. 2019秋季学期第2周Java学习总结
  17. ppt演讲计时器_靠这招,我成了领导眼中的PPT演讲高手!
  18. python智能算法,人工智能算法Python案例实战
  19. macOS safari安装第三方插件
  20. 认识Excel的第五天(打印时固定标题)

热门文章

  1. 2017.9.14 仪仗队 思考记录
  2. 无序列表圆点变空心_前端HTML -- 列表标签
  3. 【英语学习】【Level 08】U01 Let's Read L1 All the world's a stage
  4. 【英语学习】【WOTD】heartstring 释义/词源/示例
  5. Intel Core Enhanced Core架构/微架构/流水线 (3) - 流水线概述
  6. python的枚举和for循环_python入门与进阶篇(三)之分支、循环、条件与枚举,python枚举...
  7. c++怎么将两个类的方法集合成一个类的方法_一文帮你梳理 Java 集合
  8. Unreal engine 4 C++ 一些调试用的绘制函数
  9. Vulkan in 30 minutes
  10. DrawPrimitiveUP And DrawIndexedPrimitiveUP