“工欲善其事必先利其器”,在自动化测试领域,自动化测试工具的核心地位不容置疑的。目前市面上有很多可以支持接口测试的工具,在网上随便一搜就可以出来很多,利用自动化测试工具进行接口测试,可以很好的提高测试效率,从而达到事半功倍的效果,但是不是所有自动化测试工具都能够支持你完成项目任务?下面就为大家挑选几款常用的自动化测试工具:
1、第一款:Jmeter
JMeter是Apache公司基于java开发的一款开源压力测试工具,不仅体积小功能全,而且使用起来也非常方便和简单。它是主要用于web应用程序的负载测试,同时它还支持单元测试和有限的功能测试。
JMeter工具的特性有很多,比如动态报告、可移植性、强大的测试IDE等,并且支持不同类型的应用程序、协议、shell脚本、Java对象和jmeter操作数据库等等。
Jmeter工具的优点 :
开源免费,安装过程比较简单
Jmeter工具的应用范围比较广
C/S架构,基于jJmeter工具有着丰富的逻辑控制器,且具备强大的监控组件
ava实现的工具,配置起来比较容易,更偏向于性能测试
JMeter提供了BeanShell编程能力,可以编写出比较灵活的测试脚本
JMeter提供了比较高级的扩展能力,允许自己定义和扩展新的协议支持
JMeter的社区相对完善,可以提供丰富的协议支持
Jmeter工具的缺点:
脚本缺少一定的灵活性,测试报告比较偏向于性能方面
没有很好的BeanShell测试机制
对于测试的【正确性】无法进行判断。Jmeter虽然有断言机制,但对于模拟多用户操作时发出请求响应是没有办法去预测
对于全自动化实现的支持不足
2、第二款:SoapUI
SoapUI是一个开源测试工具,主要通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。
SoapUI非常流行的用于SOAP和REST的开源API测试自动化框架,同时还支持功能测试、性能测试、数据驱动测试和测试报告等。
SoapUI工具的优点:
SoapUI工具不需要开发人员编程就可以实现测试用例,可以通过WSDL自动产生测试消
SoapUI工具能够直接引用外部属性文件来简化测试步骤
SoapUI支持REST和SOAP服务
使用来自文件和数据库的数据进行强大的数据驱动测试
SoapUI提供方便的接口能够集成JBoss、Ant、XMLBean、ApacheTCPMon等多种工具
使用RESTful模拟服务
SoapUI工具的缺点:
SoapUI使用的是自己的Web服务客户端,导致客户端并不能像真正的Web服务消费者那样去调用Web服务
SoapUI中不能控制Mock服务的WSDL文件服务端点的URL
需要破解
SoapUI不支持JMS协议
SoapUI对于PC资源占用大
3、第三款:Postman
Postman 是一款支持http协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易用性好 。它不仅可以发送所有类型的HTTP请求 (其中包括GET, POST, PUT, DELETE…等等),且还能附带所有数量的参数和Headers。不仅如此,它还可以提供测试数据和环境配置数据的导入导出,对于付费的Post Cloud用户还可以创建属于自己的 Team Library团队协作式测试,并能将自己的测试收藏夹和用例数据和整个团队共享。
Postman工具的优势
跨平台
门槛比较低且上手快
自带各种代码模块
图形界面非常清晰
免费版的功能就已经非常强大了,支持http,https协议
支持抓包,保存历史记录,多终端同步用例
结合界面操作可以快速的配置接口请求信息,提供各种类型接口配置,以及数据配置
有丰富响应断言,方便用于接口进行快速验证
Postman工具的缺点:
无法连接数据库
不能操作文件相关的操作,无法读写数据库,不能使用非HTTP协议
不支持通过url搜索用例且不能指定执行失败的测试用例
无法进行共有的代码封装以及引入第三方插件
4、第四款:Selenium
Selenium是网页应用中最流行的开源自动化测试框架。由于不断地完善,Selenium工具目前成为很多Web自动化测试人员的选择,特别是那些有高级编程和脚本技能的测试人员。Selenium也成为了其他开源自动化测试工具比如Katalon Studio,Watir,Protractor和Robot Framework等的核心框架。
Selenium 支持多系统环境(Windows,Mac,Linux)以及多种浏览器(Chrome,FireFox,IE以及无头浏览器(没有界面))。它的脚本可以由各种不同的编程语言编写,比如 Java,Groovy、Python,C+,PHP,Ruby 以及 Perl等。
Selenium工具的优点:
界面可视化,对于初学者来说比较容易上手。
不深入理解动态加载和后端的交互也可以进行数据采集
比较符合普通人操作网页进行复制粘贴的习惯
Selenium工具的缺点:
加载速度比较慢,容易造成阻塞,导致采集效率不高
比较不易迁移,要适配没有界面的linux且需要进行多次修改
可视化的采集容易遇到浏览器问题,情况容易比较不稳定
LoadRunner,是一款商用性能测试工具,可以用于预测系统行为和性能的负载测试。LoadRunner能够对整个企业架构进行测试。
企业使用LoadRunner能最大程度的减少测试时间,优化性能和加速应用系统的发布周期。LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。
LoadRunner工具的优势 ::
运行比较稳定
监控指标比较齐全
对于性能测试的结果很细致
可以模拟成千上万的用户实施并发负载及实时性能监测的方式来确认和查找问题
LoadRunner工具的劣势 ::
属于收费工具,且价格比较贵(所以一般企业会购买)
安装程序繁杂,操作比较难
当然除了这些主流的自动化测试工具外,市面上也还有其他的一些【非主流】的工具或框架,这里就不在一 一列举了,大家可以根据我列举的详细优缺点对比,选择适合自己需要的接口自动化测试工具。
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
文档获取方式:
加入我的软件测试交流群:632880530免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取