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 is a software development practice which describes the pattern of writing tests before implementing software.
This post lists multiple api testing frameworks and tools which can be used for testing the apis. Stand alone or as part of software development lifecycle.
Api testing tools and frameworks
Open source
- Insomnia - Rest api 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.
- Dredd - is JavaScript / Nodejs based command line tool which compares the api specification documents against the actual api implementation.
- Swagger Test Templates - JavaScript / Nodejs based framework for generating tests from Open API specifications.
- Hippie - JavaScript / Nodejs based library which adds layer of functionality and assertions for creating http api tests.
- 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.
- Pact - is an 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.