对比3种接口测试的工具:jmeter+ant;postman;python的requests+unittest或requests+excel
这篇随笔主要是对比下笔者接触过的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.html、https://www.cnblogs.com/hanmk/category/1203663.html
总结
没有最好的测试工具或方法,只有最适合的。根据实际业务情况进行选择就好
对比3种接口测试的工具:jmeter+ant;postman;python的requests+unittest或requests+excel的更多相关文章
- Jmeter接口测试自动化(jmeter+ant+jenkins持续集成)
Jmeter是压力测试.接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具.将这三者结合起来可以搭建一套webservice接口测试的持续构建环境. 1. ...
- jenkins+jmeter+ant搭建接口测试平台
接口测试的重点是检查数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系. 接口测试的流程 项目启动后,测试人员要尽早拿到接口测试文档. 开始编写接口测试用例 将接口测试用例部署到持续集成的测试 ...
- Jmeter、Postman 、 loadrunner SoapUI 接口测试工具
一. loadrunner 简称 LR 二. Jmeter 1.安装包:apache-jmeter-4.0.tgz 解压.学会此工具的使用 和POSTman 一样的. 2.本机测试:双击apa ...
- 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 ...
- 搭建JMETER+ANT自动化接口测试环境步骤(一)
一.环境准备: 1.JDK 下载 地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html ...
- Jmeter+Ant+Jenkins搭建持续集成的接口测试(推荐 Mark)
转自:http://my.oschina.net/hellotest/blog/516079 目录[-] 一.Jmeter+ant 二.Jmeter+ant+Jenkins 三.Tomcat配置虚拟目 ...
- Jmeter+Ant+Jenkins搭建持续集成的接口测试框架
https://my.oschina.net/hellotest/blog/516079 摘要: 一个系统通常有多个接口,软件的生命周期中,我们会不断的去优化老的接口和开发新的接口,那么在这个过程中, ...
- 一.Jmeter+Ant+Jenkins搭建持续集成接口性能自动化测试
微创新作品信息 1)微创新作品描述 A.为什么诞生: 1. 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换, ...
- Jenkins+Jmeter+Ant接口持续集成
修改时间 修改内容 修改人 2016.5.22 创建 刘永志 2016.6.15 完成 刘永志 前言: 为什么要用Jmeter做接口测试: 当选择这套方案的时候,很多人会问,为什么选择Jmeter做C ...
随机推荐
- Java并发编程:Java实现多线程的几种方式
在Java中,多线程主要的实现方式有四种:继承Thread类.实现Runnable接口.实现Callable接口通过FutureTask包装器来创建Thread线程.使用ExecutorService ...
- css 如何让大小不同的图片表现一致,同时自适应呢?
壹 ❀ 引 实习生在做产品分类页时,遇到了一个她不知道如何解决问题,所以来问我应该怎么做:问题其实不难,由于项目使用了bootstrap来实现响应式与自适应,所以除了宽度有明确的百分比值之外(栅格化 ...
- git分支合并创建切换
1. 场景描述 介绍下Git最新内容合并到主干.从主干创建最新分支.idea下切换最新分支,能在2分钟内完成git合并.分支创建以及在idea中完成切换,希望能帮到一些朋友. 2. 解决方案 从以下三 ...
- Pull Request找原作者做review
最近对代码库进行了一次全局替换,改了150个左右的文件,发了PR后需要找原作者确认一下,于是写了个工具做git blame,地址在这里 写完发现一个问题,如果只是新增一个函数,没有调用,是应该不用找原 ...
- laravel中使用FormRequest进行表单验证,验证异常返回JSON
通常在项目中,我们会对大量的前端提交过来的表单进行验证,如果不通过,则返回错误信息. 前端为了更好的体验,都使用ajax进行表单提交,虽然 validate() 方法能够根据前端的不同请求方式,返回不 ...
- laravel项目本地数据库连接错乱原因和解决方法
由于在本地建了两个laravel项目,test.me 和 api-test.me,当我在 test.me 中调用 curl 去请求 api-test.me 的方法,试图获取数据时, 接口一直返回没有找 ...
- C++ getline函数用法详解
转载自http://c.biancheng.net/view/1345.html 虽然可以使用 cin 和 >> 运算符来输入字符串,但它可能会导致一些需要注意的问题. 当 cin 读取数 ...
- OpenGL入门1.5:矩阵与变换
每一个小步骤的源码都放在了Github 的内容为插入注释,可以先跳过 前言 在阅读本篇博客之前,你必须对向量和矩阵有基本的认识,并且能熟练进行向量和矩阵的运算 我们已经知道了如何创建一个物体.着色.加 ...
- C#面对对象之封装、继承、多态的简单理解
一.封装 隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别. 简单来多,就是讲我们所需要的代码打包封装进入一个类里面,便于我们调用,操作.这就是封装. 这样就隔离了具体 ...
- WebLogic任意文件上传漏洞复现与分析 -【CVE-2018-2894 】
CVE-2018-2894 漏洞影响版本:10.3.6.0, 12.1.3.0, 12.2.1.2, 12.2.1.3 下载地址:http://download.oracle.com/otn/nt/m ...