对比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.htmlhttps://www.cnblogs.com/hanmk/category/1203663.html

总结

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

posted @ 2019-06-04 14:44  我是冰霜  阅读(3997)  评论(2编辑  收藏  举报