这篇随笔主要是对比下笔者接触过的3种接口测试工具,从实际使用的角度来分析下3种工具各自的特点

分别为:jmeter、postman、python的requests+unittest或requests+excel

1.利用jmeter进行接口测试

jmeter本身是一个基于java的性能测试工具,它可以自定义发送http请求,并根据响应结果进行断言,所以借助jmeter自带的一些元件便可以进行接口自动化测试。

大致思路就是将接口测试用例写到一份csv文件中,然后构建jmeter脚本逐条读取csv中的用例数据,结合ant生成测试报告,同时也可以结合jenkins实现自动定时执行脚本

特点:jmeter本身是一个功能强大的开源压测工具,网上有很多相关的使用教程,即使不进行二次开发,仅针对接口测试的话,也可以达到预期的效果(能够应对我们公司的大部分接口测试工作),基础内容的学习成本不是很高;

但是编写接口测试用例是一个耗时的工作,因为用例都写在一份csv文件,如果请求参数过多,那么会产生很多组合情况,写起来其实挺费劲的;

如果想更灵活地运用jmeter的话,需要一定的java功底,对jmeter的一些函数的使用做到心中有数才行,这个需要深入研究并在工作中实践才好。

相关随笔:https://www.cnblogs.com/hanmk/category/1037987.html

2.利用postman进行接口测试

postman只做一件事:网页调试与发送网页HTTP请求,所以它天然是一款做API自动化测试工具,而且公司的很多研发(无论前端还是后端)都喜欢用postman来进行调试工作

笔者在年初的时候研究过postman的详细使用方法,并整理成了系列文章,也在组内进行了相关的技术分享(可以说是真爱了,哈哈)

用postman进行接口测试的大致思路就是以创建集合(Collections)的方式来对接口进行分类,然后对接口再进行细分,一个接口的一种参数组合情况写一个请求,如下

如果是有关联的接口,可以利用环境变量对其进行参数化,灵活运用Pre-request-Script标签Tests标签,即可应对大部分接口测试需求,因为postman本身是基于JavaScript编写的,所以你可以编写js脚本来定制请求(即使是生成时间戳或者MD5 加密签名)

特点:工具封装的很好,网页调试利器,单个调接口十分方便;对于没有代码基础的人来说,新手可以很快熟悉postman的基础使用方法,学习成本低;并且学会进阶使用方法后可以应对公司的大部分的接口测试需求。

但是postman在批量执行接口时,生成的报告不太好看,结合Newman+jenkins生成的测试报告更丑

相关随笔:https://www.cnblogs.com/hanmk/category/1366452.html

3.python的requests+unittest或requests+excel

先看一段简介

也就是说我们可以利用requests库来发送任何http请求,包括:get请求、post请求、put请求等等,所以我们可以用requests进行接口测试或者网络爬虫。

笔者分别使用python自带的unittest单元测试框架和requests+excel的方式进行过接口测试,我们公司并没有主推使用代码来进行接口自动化测试,这里更多是自己的一种尝试,主要是为了提高python应用能力。

特点:对于编程能力强的人,更喜欢自己编写代码来进行接口测试,无论是自己写框架或是借助开源框架再根据业务进行二次开发也好,功能可以定制,用法也比较灵活;

不过这种方式对个人要求较高,最起码要熟悉一门语言才好。这种方式也很难在整个组推广,因为不可能叫所有人都去写代码,黑盒测试目前也还是不可或缺的(但这是每个测试人员努力的一个方向,成为一个既业务又懂代码的测试人员)。

相关随笔:https://www.cnblogs.com/hanmk/category/1185856.htmlhttps://www.cnblogs.com/hanmk/category/1203663.html

总结

没有最好的测试工具或方法,只有最适合的。根据实际业务情况进行选择就好

对比3种接口测试的工具:jmeter+ant;postman;python的requests+unittest或requests+excel的更多相关文章

  1. Jmeter接口测试自动化(jmeter+ant+jenkins持续集成)

    Jmeter是压力测试.接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具.将这三者结合起来可以搭建一套webservice接口测试的持续构建环境.   1. ...

  2. jenkins+jmeter+ant搭建接口测试平台

    接口测试的重点是检查数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系. 接口测试的流程 项目启动后,测试人员要尽早拿到接口测试文档. 开始编写接口测试用例 将接口测试用例部署到持续集成的测试 ...

  3. Jmeter、Postman 、 loadrunner SoapUI 接口测试工具

    一. loadrunner  简称 LR 二. Jmeter 1.安装包:apache-jmeter-4.0.tgz   解压.学会此工具的使用  和POSTman 一样的. 2.本机测试:双击apa ...

  4. jmeter+ant+jenkins实现自动化接口测试

    一.安装前准备 1.JDK:jdk-8u121-windows-x64 2.jmeter工具:apache-jmeter-2.13 3.ANT工具:apache-ant-1.9.7-bin 4.jen ...

  5. 搭建JMETER+ANT自动化接口测试环境步骤(一)

    一.环境准备: 1.JDK    下载            地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html ...

  6. Jmeter+Ant+Jenkins搭建持续集成的接口测试(推荐 Mark)

    转自:http://my.oschina.net/hellotest/blog/516079 目录[-] 一.Jmeter+ant 二.Jmeter+ant+Jenkins 三.Tomcat配置虚拟目 ...

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

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

  8. 一.Jmeter+Ant+Jenkins搭建持续集成接口性能自动化测试

    微创新作品信息 1)微创新作品描述 A.为什么诞生: 1. 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换, ...

  9. Jenkins+Jmeter+Ant接口持续集成

    修改时间 修改内容 修改人 2016.5.22 创建 刘永志 2016.6.15 完成 刘永志 前言: 为什么要用Jmeter做接口测试: 当选择这套方案的时候,很多人会问,为什么选择Jmeter做C ...

随机推荐

  1. HEC-ResSim原文档

              HEC-ResSim Reservoir System Simulation             User's Manual       Version 3.1 May 201 ...

  2. UOJ #450. 【集训队作业2018】复读机

    前置知识单位根反演自己去浅谈单位根反演看(此外可能需要一定的生成函数的姿势) 首先一看\(d\)这么小,那我们来分类讨论一下吧 当\(d=1\)时,显然答案就是\(k^n\) 当\(d=2\)时,如果 ...

  3. C# - WinFrm应用程序调用SharpZipLib实现文件的压缩和解压缩

    前言 本篇主要记录:VS2019 WinFrm桌面应用程序调用SharpZipLib,实现文件的简单压缩和解压缩功能. SharpZipLib 开源地址戳这里. 准备工作 搭建WinFrm前台界面 添 ...

  4. Do Deep Nets Really Need to be Deep?

    url: https://arxiv.org/pdf/1312.6184.pdf year: NIPS2014 浅网络学习深网络的函数表示, 训练方法就是使用深网络的 logits(softmax i ...

  5. javascript解决在safari浏览器中使用history.back()返回上一页后页面不会刷新的问题

    我们知道,在JavaScript中提供了一个window.history.back()方法用于返回上一页,另外也可以使用window.history.go(-1)返回上一页(跳转). 在其他的主流浏览 ...

  6. 一些常见的http状态码

    HTTP状态码是服务器和客户端之间交流信息的语言,下面列出一些常见的HTTP状态码. 1XX系列 指定客户端应相应的某些动作,代表请求已被接受,需要继续处理.由于在HTTP/1.0协议中没有定义任何1 ...

  7. 在.net core程序中使用EntityFrameok(非EF Core)

    最近用NoSQL较多写,用传统的EF到不多,但在一些.net core小程序中也小试牛刀过,不过当时用的是微软为.net core量身定制的Entity Framework Core,只是一些比较常规 ...

  8. asp.net core 新建area使用asp-action,asp-controller不管用

    解决方法: 在新建的Area目录下,这里使用Admin,Admin/Views下新建_ViewImports.cshtml和_ViewStart.cshtml两个视图文件,复制项目自动生成的到对应的新 ...

  9. java基础(11):接口、多态

    1. 接口 1.1 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成. ...

  10. PHP常量以及基本数据类型

    1.常量      1.1用define()函数定义常量 define(常量名,值,[是否区别大小写]) true表示不区分大小写,默认是false 常量名前没有$符 常量名推荐使用大写 1.2.定义 ...