API testing tools and frameworks
Api development lifecycle
Application development lifecycle defines how we plan, deliver, test and maintain technology products.
As api first pattern is growing in popularity, automated quality assurance becomes one of the key parts of such lifecycle.
Test driven development (TDD) is a software development practice which describes the pattern of writing tests before implementing software.
This post captures the list of API testing tools and frameworks which are heavily used in industry for automated and manual API testing. Most of them can be used as stand alone or be fitted as part of the software development lifecycle.
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, it's important to choose the right tools for your software project and hopefully the above list of tools and frameworks will help you do that.
If you are using api testing toolkit which is not on this list, let us know - we aim to maintain this list up to date.