📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
使用SOA和微服务作为软件架构的趋势不断上升,催生了多种用于服务API自动化测试的工具。
API是应用程序接口(application programming interface) 的缩写,是一套用于构建和集成应用软件的定义和协议,是两个或多个计算机程序相互通信的一种方式。
API定义了客户端和服务之间的通信协议以及服务的行为方式。你可以使用不同的协议或体系结构约定来管理应用程序中的交互。简单对象访问协议 (SOAP) 建议使用 XML 作为消息格式,并通过HTTP或SMTP传送请求。表述性状态传输 (REST) 与SOAP不同,因为SOAP是一种协议,而REST是一种架构风格。可以使用GraphQL(一种查询语言和服务器端运行时)作为REST的替代方案。
API测试工具选择技术标准
除了明显的许可证和价格之外,如果选择商业API测试工具,你还可以使用许多技术标准来选择API测试工具。其中包括:
如何定义和管理测试(代码、低代码、无代码)
支持的技术(编程语言、平台……)
与软件开发和交付过程的其他组件集成,例如CI/CD工具
认证与授权
记录和监控
……
以下盘点13个开源API测试工具,可以参考使用。
1. Airborne
Airborne是一个开源RSpec驱动的API测试框架。Airborne是一个GEM,旨在测试Rspec和RestClient之上的API。Airborne提供了一个为API编写自动化测试的框架。Airborne使用rest_client发出HTTP请求,并支持所有HTTP动词。创建测试时,可以调用以下任意方法:get、post、put、patch、delete、head、options。
网站:https://github.com/brooklynDev/airborne
2. APIAuto
APIAuto是一款易于使用的开源HTTP接口工具,用于敏捷开发、机器学习零代码测试、代码生成和静态检查、文档生成和光标浮动注释。集文档、测试、mocking、调试、管理于一体的一站式体验,以及一键格式化、注释/取消注释等高效易用的快捷键。在常用功能方面,远远超过Postman、Swagger、YApi等各种开源和商业API文档/测试工具,并且可以一键导入用例和文档。它支持 GET、POST、PUT、PATCH、DELETE、HEAD等HTTP方法和Content-Type、URL /{Path}/{Variable}。它不仅适用于RESTful、RESTful-like和GRPC API,也是腾讯APIJSON推荐的官方文档和测试工具。
网站:https://github.com/TommyLemon/APIAuto
3. Apickli
Apickli是一个基于Cucumber的开源REST API集成测试框架。它提供了一个Gherkin框架和一系列实用函数,使API测试变得简单且耗时更少。Apickli也可以作为NPM包提供。
网站:https://github.com/apickli/apickli
4. Dredd
Dredd是一种与语言无关的命令行工具,用于根据API的后端实现来验证API描述文档。Dredd读取你的 API 描述,并逐步验证你的API实现是否按照文档中的描述回复响应。Dredd支持自动化测试REST API,生成精美的报告,并根据历史案例生成精美的REST API文档。
网站:https://github.com/apiaryio/dredd;https://dredd.org/
5. Frisby
Frisby是一个基于Jest构建的开源REST API测试框架,旨在使API端点测试变得简单、快速且有趣。Frisby.js加载了许多内置工具,以确保REST API正常工作,并返回正确的属性、值和类型。当你需要自定义内容时,Frisby.js还提供了一种简单的方法来自定义和扩展断言,让工作更轻松,同时减少重复和繁琐的代码。
网站:https://github.com/vlucas/frisby;https://docs.frisbyjs.com/
6. Insomnia
Insomnia是一个开源、跨平台API客户端,适用于GraphQL、REST、WebSockets、服务器发送事件 (SSE)、gRPC 和任何其他HTTP兼容协议。借助Insomnia,你可以使用最流行的协议和格式调试API、使用本机OpenAPI 编辑器和可视化预览设计API、使用本机测试套件测试API、模拟API、使用本机构建CI/CD管道Insomnia CLI用于检查和测试,并使用许多协作功能与其他人协作来共同推进项目。
网站:https://github.com/Kong/insomnia;https://insomnia.rest/
7. mounteban
kmountebank是一个提供跨平台、多协议在线测试的开源API测试工具。只需将正在测试的应用程序指向mountebank,而不是真正的依赖项,就能像使用传统存根和模拟一样进行测试。
网站:https://github.com/bbyars/mountebank;http://www.mbtest.org/
8. RestAssured
在Java中测试和验证REST服务比在Ruby和Groovy等动态语言中更难。REST Assured将这些语言的简单使用带入Java领域。
网站:https://github.com/rest-assured/rest-assured;https://rest-assured.io/
9. Schemathesis
Schemathesis是一个以规范为中心的API测试工具,适用于开放API和基于GraphQL的应用程序。它读取应用程序架构并生成测试用例,这将确保应用程序与其架构兼容并且永远不会崩溃。被测应用程序可以用任何语言编写,唯一需要的是支持格式的有效API模式。得益于最先进的假设库支持的基于属性的测试方法,使用简单,但功能强大,可以发现难以发现的错误。
网站:https://github.com/schemathesis/schemathesis10. SoapUI
10. SoapUI
SoapUI是一个免费、开源的跨平台API和Web服务功能测试解决方案。它提供了测试REST、SOAP和GraphQL API的能力。SoapUI基于 java,因此它可以在大多数操作系统上运行。我们在多个Windows版本以及Mac和多种Linux方言上对其进行了测试。SoapUI需要1.6+版本的JRE(Java运行时环境),建议至少1GB 内存,以及大约100 MB磁盘空间。
网站:https://github.com/SmartBear/soapui;https://www.soapui.org/
11. SupeTest
SuperTest是一个开源超级代理驱动库,用于使用Fluent API测试Node.js HTTP 服务器。该模块的动机是为测试 HTTP 提供高级抽象,同时仍然允许您使用Superagent提供的较低级别API。
网站:https://github.com/visionmedia/supertest;https://www.npmjs.com/package/supertest12. Tavern
12. Tavern
Tavern是一个pytest插件、命令行工具和Python库,用于自动化测试API,具有简单、简洁和灵活的基于YAML的语法。上手非常简单,并且可以针对复杂的测试进行高度定制。Tavern支持测试RESTful API 以及基于MQTT的API。Tavern 充当pytest插件,因此您所要做的就是安装 pytest 和 Tavern,在 yaml 文件中编写测试,然后运行pytest。这意味着您可以访问所有 pytest 生态系统。您还可以使用Python库将Tavern集成到您自己的测试框架或持续集成设置中,或者使用命令行工具tavern-ci以及bash脚本和cron作业。
网站:https://github.com/taverntesting/tavern;https://taverntesting.github.io/
13. Wisdom rest-client
Wisdom Rest-Client是一款支持自动化测试REST API,生成报告,并根据历史案例生成REST API文档的工具。
网站:https://github.com/wisdom-projects/rest-client
14.api-testing
支持的协议: HTTP, gRPC, tRPC
支持多种格式的测试结果导出: Markdown, HTML, PDF, Stdout
简单易用的 Mock 服务,支持 OpenAPI
支持转换为 JMeter 文件格式
支持响应体字段检查或 eval
使用 [JSON schema] 校验响应参数(https://json-schema.org/)
支持预处理和后处理 API 请求
支持以服务器模式运行并支持 gRPC和 HTTP endpoint
VS Code 扩展支持
Github 扩展支持
支持多种存储方式 (Local, ORM Database, S3, Git, Etcd, etc.)
HTTP API record
支持多种安装方式(CLI, Container, Native-Service, Operator, Helm, etc.)
整合 Prometheus, SkyWalking 监控
网站:https://github.com/LinuxSuRen/api-testing
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】