这篇随笔主要是对比下笔者接触过的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. Mysql 免安装教程 百度云网盘有文件和word说明

    一 把文件解压到一个目录下 这是解压后的目录 将my.ini文件考进去 双击打开my.ini 找到这两行更改成自己的解压路径保存 右键此电脑属性 找到高级系统设置配置环境变量 新建—>变量值是解 ...

  2. 关于Django

    Django项目的初始化配置包括 数据库配置 Django 配置 应用程序配置 关于项目和应用 应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者简单的投票程序 项目则是 ...

  3. 【mysql】You must reset your password using ALTER USER statement before executing this statement. 报错处理

    1.问题:登陆mysql以后,不管运行任何命令,总是提示这个 mysql> select user,authentication from mysql.user; ERROR 1820 (HY0 ...

  4. Ansible快速开始-指挥集群

    Ansible可以集中地控制多个节点,批量地执行ssh命令.由于其使用ssh进行操作,因此远端服务器除了安装openssh-server(一般服务器已经内置)之外,不需要安装额外的软件,因此使用非常简 ...

  5. 愉快地使用Groovy Shell

    这是一篇有关Groovy Shell的帖子,以及它如何在日常工作中为您提供帮助(只要您是软件开发人员).无论您使用哪种编程语言或技术,都可以从Groovy Shell中受益.唯一真正的要求是您能够编写 ...

  6. 同步IDEA系列软件的设置,再也不用但心我的配置丢失了

    同步IDEA系列软件的设置 问题描述:重装idea,之前配置好的快捷键就没有了.之前一直是每隔几个月要把配置导出一下,上传百度云盘.现在好了,通过配置可以自动同步配置了.我再也不用但心配置丢失了. 快 ...

  7. 故事2:.net程序员成长经历

    啊,最近一段时间在学习asp.net mvc ,一直没有接着写了,加上白天工作很忙,每天都很辛苦的哈,那咱接着说上一个故事哈. 当时第二天开始复习java面试题,非常的期待,从来没有去过公司,不知道别 ...

  8. Python绘图还在用Matplotlib?out了 !发现一款手绘可视化神器!

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. GitHub 地址:https://github.com/chenjian ...

  9. 用Python制作只属于你和ta的聊天渠道吧

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: Python应用宝典 PS:如有需要Python学习资料的小伙伴可 ...

  10. Meterpreter初探

    Meterpreter Meterpreter号称"黑客瑞士军刀",Meterpreter是Metasploit框架中的一个杀手锏,通常作为漏洞溢出后的攻击载荷使用,攻击载荷在触发 ...