If you’re like many companies out there, API’s (Application Programming Interface) are becoming a frequent topic of conversation, if they weren’t being talked about constantly already. In fact, many of the fastest growing companies like Stripe, Twilio, and Plaid are growing to billions of dollars in revenue with only an API interface.
In previous articles on the blog, you can explore API testing key terms, keys to REST API testing success and even emerging trends in API testing such as consumer contract testing. In this article, we will focus specifically on the top API testing tools you should keep an eye out for in the market.
Table of Contents – Top 10 API Testing Tools to Watch in 2020
- Tricentis Tosca
- API Fortress
- Conclusion (Including a mindmap summarizing all the top 10 API testing tools)
Before we get into ranking the list of API testing tools, let’s consider some of the key criteria we should use for evaluating our candidates:
- What does the tool cost?
- How easy is the tool to implement?
- How is the tool deployed? And on what platforms?
- What API testing protocols (REST, SOAP, etc.) does the tool support?
- What is the technical skillset required to be successful with the tool?
- What are scripting languages supported (if applicable)?
- What design formats (eg. Swagger) are available for import?
- What other tools and platforms are integrated?
Now, since the technology & process has evolved a lot than before, companies or teams prefer to have faster test feedbacks. As we can see with the shift-left trend towards DevOps, API testing is becoming a more crucial & critical component on CI/CD. Test automation efforts can bring more value with the right API tests in place, rather than depending on slow UI tests only.
When it comes to API testing, the very first tool which comes to mind is Postman. With over 11 millions users, Postman is easy to adopt for beginners all the way up through expert users. The tool can be used to explore and understand API’s, and then later leverage those findings to create and execute automated scenarios as well.
It was initially launched as a Chrome plugin, but has evolved to provide native versions for Mac & Windows, making the solution ideal for those who want to test APIs without much coding efforts.
- Supports both exploratory and automated API tests.
- A friendly and easy to use client supporting REST and SOAP API’s.
- Support for installation on Mac, Windows, Linux.
- Support for Swagger definitions along with supporting RAML formats & GraphQL request and schemas.
- Provides Run, Test, Document & Monitoring Features.
- Newman CLI makes it easy to run integrate Postman collections with most of the popular build tools like Jenkins, Bamboo, etc.
- Enable users to share and collaborate on the API test collections with their other team members using Postman.
- Some of the additional features and increased limits require an upgrade to the paid version.
- The free plan comes with a limit on the number of shared requests.
If you want an easy to use, yet full featured toolset to explore API’s and automate your API testing, Postman is a great choice.
SoapUI is a Complete API Test Automation Framework from SmartBear, which allows users to test REST, SOAP, and other API’s easily. They offer an open-source version and a paid version with enhanced functionality.
- Coding capabilities allow users to create complex-scenarios and supports asynchronous testing.
- Easy to create API tests from the user interface with an assertion wizard, a form editor, and a SQL query builder (Pro Package).
- Data driven testing support to simulate customer scenarios with the APIs.
- Native integration to popular build tools, such as Jenkins and Bamboo.
- Service virtualization to help to mimic web services before they are implemented.
- Added the Endpoint Explorer dialog for users to send exploratory requests and analyze responses without creating a project.
- Extended support to HTTP methods such as PROPFIND, LOCK, UNLOCK, COPY, PURGE.
- Tight integration to Swagger for importing API definitions.
- Many features limited to pro offering (ReadyAPI), which is expensive in price.
- Less robust collaboration options compared with the competition.
If you are focused mostly on API test automation rather than exploration, soapUI is the perfect choice for you.
REST-Assured is an open-source Java library that provides a domain-specific language (DSL) for writing powerful, maintainable tests for RESTful APIs. It acts like a headless Client to access REST services. Also, it enables us to test a wide variety of Request combinations and validate the HTTP Responses received from the server.
- Easy to get started, with many templates and libraries provided out-of-the-box.
- Can be easily integrated with Serenity automation framework, which helps to combine the UI and REST tests in one framework that generates awesome reports.
- Support BDD Given/When/Then syntax.
- Easy integration with TestNG/JUnit.
- Users don’t necessarily need to be an HTTP expert.
- Can customize reports to your specifications.
- Supports XML and JSON Request/Responses.
- Integrated seamlessly with Java projects.
- Supports only Java language.
- Only supports REST API protocol.
If you are looking for an API testing tool that supports a BDD style specification and you are using Java, Rest-Assured is a great choice.
TestProject is a comprehensive end-to-end test automation tool that supports Web, Mobile, and API testing. It is a cloud-based, community-powered test automation platform. TestProject’s distributed architecture allows users to collaborate, share, and execute tests with ease from everywhere & without much effort. With the help of an Addon it provides support for REST API testing. It supports REST request types (GET, POST, PUT, DELETE, PATCH) and parameterization functionalities.
- Supports end-to-end testing including UI (Web and Mobile) and API testing.
- One-click installation of local agent on Windows, Mac, and Linux.
- Data driven testing with CSV import capabilities.
- CI/CD integration to Jenkins.
- Intuitive Analytics and Reports that can be exported as PDF.
- Suitable for pros and non-techies via scriptless recorder (with export to SDK).
- Active Community of 25,000+ users with quick support via live chat.
- Only supports REST API protocol.
- API tests have to be created as Web Project first, which makes it difficult for some users.
- Version control and Release management integration is a bit difficult to manage.
If your requirement is to have a single tool for API, web, and mobile apps which is easy to use & set up, then TestProject is a perfect choice.
Karate is an open-source tool for API testing. It is based on a cucumber library, and it helps to create API-based BDD tests easily without requiring step definitions. Those definitions are created by KarateDSL to help users to perform API testing quickly. Karate is a unified framework for API test automation, mocks, performance testing, and even UI automation.
- Built on top of familiar Cucumber-JVM.
- Standard test running and report generation as with any Java project.
- Abstraction layer allows test creation by non-technical users.
- Can mix API and UI Automation within the same test script.
- Re-usability of functional tests to performance tests.
- Easy to integrate with CI via supported test runners (JUnit, TestNG, etc).
- Support for testing GraphQL, REST, and SOAP.
- Supports multi-threaded parallel execution and configuration switching.
- The tool doesn’t have Auth Schemes out of the box.
- TestNG support deprecated.
If you are a fan of BDD style specification and are looking for an API testing tool that is equally powerful for newbies and experienced users, Karate is a great choice.
JMeter is primarily built as an open-source Load Testing tool, but it is a great tool to support functional API tests as well. Since API load tests are basically a bunch of functional tests running in parallel, it comes with a lot of functionalities to support API testing.
- Can be easily integrated with CI/CD environments.
- Functional tests can easily be extended into load tests.
- Can use CSV files to allow for data driven API testing.
- Flexible and customizable out of the box reporting.
- Very lightweight tool and easy installation on Windows, Mac, or Linux.
- Supports a wide variety of plugins.
- Heavy weight tool when only running a single thread (functional test).
- Recording can be complex, as it often requires manual proxy setup.
- Only supports scripting in Java based languages like Beanshell and Groovy.
If your testing demands that your API functional tests that can be leveraged into performance tests as well, JMeter is a no brainer.
Tricentis Tosca is a continuous testing platform for Agile and DevOps. It can cover a wide variety of applications including Desktop, Web, Mobile, as well as APIs. It is the Gartner leader in Test Automation.
- Supports widest array of protocols: HTTP(s) JMS, AMQP, Rabbit MQ, TIBCO EMS, SOAP, REST, IBM MQ, NET TCP.
- Strong service virtualization offering.
- Easily integrated into CI/CD tools.
- Maximize reuse and maintainability with model-based test automation.
- Support as well for desktop applications, web testing, and mobile testing.
- Out-of-the-box reporting and analytics.
- Windows only.
- No free version after trial (14 days).
- Scripting/customization only possible in .NET.
If you work for an enterprise and you want to build robust API tests across a wide variety of protocols, we recommend Tricentis Tosca.
Assertible is an API testing tool that concentrates not only on pre-production but also post-production testing. It’s used to continuously test and monitor API’s and websites. Assertible helps you prevent bug leakage to production by creating automated API tests, scheduling them to run across various environments, and alerting users through various channels.
- Deep support for teams using Github as a source code repository.
- Can easily create robust tests with a comprehensive, built in UI.
- Support for validating HTTP responses with turn-key assertions such as JSON Schema validation and JSON Path data integrity checks.
- Sync feature, which helps testers to update their tests when specifications change in supported protocols like OpenAPI, Swagger, and Postman.
- Mostly UI driven, minimal options for creating test scripts as code.
- It can be inconvenient, especially when you are viewing a detailed quality report of your web services.
If you are using Github and want to automatically monitor and test APIs and web services after every deployment, Assertible is a perfect choice.
Swagger allows users to start their functional, security, and performance testing right from the Open API Specifications. It enables development across the entire API lifecycle, from design and documentation, to test and deployment. Swagger tooling and ready API platform make it easy to quickly create, manage, and execute API tests in the pipeline.
- Swagger Inspector provides capabilities to inspect API requests/responses and validate that they perform as expected.
- Import user’s API definitions to easily validate schema rules, automatically generate assertions against endpoints and inject synthetic data into parameters.
- Gives the ability to focus on API-first design.
- Generate complex load scenarios to test the scale and performance of API.
- Support all types of services from REST, SOAP to GraphQL.
- Increase in project complexity by using additional tools and libraries.
- The tool is designed mostly for documenting APIs.
If your requirement is to visualize, document, and interact with the API resources, then Swagger is the clear choice for you.
API Fortress is a continuous testing platform for APIs. Targets REST and SOAP APIs are considered as the most powerful monitoring tool for the two.
- Easy test generation with import from an API definition.
- Amazing notification and data integration capabilities.
- Simplified UI to accelerate test definition for beginners.
- Enables Automated tests as part of a CI pipeline.
- Available by Hosted Cloud, Self-Hosted Cloud, or Hybrid hosting model.
- Continuous monitoring for API’s, as well as load testing.
- No free pricing tier.
- Limited options for creating API tests using code.
If your requirement is to have a comprehensive tool to not only functionally test but also monitor and load test API’s, API Fortress has you covered.
The choice of which tools to include in the top 10 list was very tough. They are many exciting tools we considered and would like to mention:
Each candidate listed above has its own pros and cons and when it comes to API testing tool selection, many times, the wealth of choices can make it difficult to select which tool to get started with. Selecting the right API testing tool is never easy, but here some tips to keep in mind to simplify the process include:
- Carefully study your requirements and prioritize the needs of all stakeholders.
- Think about the budget early so that you can decide whether commercial tools are a feasible option.
- Understand the features provided by each tool and providers and rank them against your requirements.
- Involve a few trusted advisors in the evaluation process.
- Narrow the list to 2-3 candidates, then begin a POC evaluating the tool features based on your requirements.
- With the metrics you gathered from POC, it should become easier to select the ideal API testing tool for your requirements.
Below, I have summarized some of the key points of our API testing tool comparison in a mindmap:
Let’s share our knowledge and learn more together! I would like to hear from you about API testing tools. Feel free to share if you feel I missed out on any of your favorite API testing tools.
Also, please share your thoughts & experiences with the API testing tools we discussed above. I would be glad to hear from you as my personal experience is limited with some of these tools. Let’s join our opinions together to provide the most comprehensive comparison we can!
That’s all for now, have fun exploring the landscape and sharing new API testing tools and experiences!!😊