API testing tools and frameworks
API development lifecycle
Application development lifecycle is a process which defines how we plan, deliver, test and maintain software products.
API first application building pattern is growing in popularity, automated quality assurance became one of the key parts of this process.
Test driven development (TDD) is popular software development practice which describes the practice of writing tests first, before implementing software functionality.
This post captures the list of popular API testing tools and frameworks within the industry. They will fit both - automated and manual API testing. Most of tools from the list can be used as stand alone or be fitted as a part of the systems development lifecycle you use.
API testing tools and frameworks
Open source
- Microcks - open source API mocking and testing toolset. Strong OpenAPI specification support.
- Bruno - is an open source, community driven API testing client application (REST and GraphQL), which works local machine. Aimed at providing alternative to cloud based Postman tool. Based on ElectronJS, cross platform.
- Insomnia - REST and GraphQL testing client application. Supports multiple community plugins which include Open API validation, JWT support, etc.
- Requester - is Http client for popular Sublime 3 text editor. It allows to perform api testing directly in Sublime.
- JMeter - Java based tool, which is mostly known for api performance testing. However, it has a large library of assertions and validations useful to end to end scenarios. We have multiple tutorials related to JMeter on this site.
- HTTPie - is a CLI tool / utility for REST API testing. Supports JSON formating and multiple plugins. They recently released desktop application.
- Dredd - is JavaScript / Nodejs based command line tool which compares the api specification documents against the actual api implementation.
- Hippie - JavaScript / Nodejs based library which adds layer of functionality and assertions for creating http api tests.
- .http files - is method of testing API endpoints directly from within Visual Studio Code editor by using httpyac extension.
- Flashpost - is VSCode extension which enables you to test REST APIs directly from Visual Studio Code editor. Environment variable supprt and collection support, code snippet generation.
- Frisby - JavaScript / Nodejs api testing framework. Includes multiple api specific assertions and validations. Based on Jest testing library.
- Apickli - JavaScript / Nodejs based Rest api integration testing framework. Provides support for BDD / Gherkin based api testing. Includes multiple predefined api testing specific assertions.
- Chakram - JavaScript / Nodejs based end to end api testing framework.
- Zerocode - Java based framework for interface testing. It supports Rest, Soap and any http based api testing. Configuration based.
- Karate - Java based framework for api test automation, api performance testing and api mocking. Utilises Cucumber JVM.
- Pandaria - Java based http testing framework. Uses Cucumber JVM for BDD part.
- Gatling - Scala based powerful http testing framework. Its use cases include complex Rest api test scenarios, simulating multiple client applications, various api request flows.
- Playwright - is modern end-to-end testing framework for web apps. It has strong use case for API endpoint testing via powerful CLI. TypeScript based test files.
- Pact - is API contract testing and validation framework. It ensures that contract between api consumer and api service is valid and functional.
Proprietary API testing tools
- Assertible - Cloud hosted SaaS tool for continuous api testing and monitoring. Supports multiple environments and GitHub integration.
- Runscope - Cloud based api monitoring and testing platform.
- Postman - UI based application. It calls itself API development environment and has multiple inbuilt team collaboration features.
- SoapUI - Heavy weight application for testing Rest apis as well as XML based Soap web services.
- Vrest - Cloud based API testing toolset for automated testing.
Summary
To sum up, this is regularly maintained list of tools we use for API testing. You might find it useful while choosing framework for your projects.
If we missing API testing toolkit on this list - let us know.