API testing (Application Programming Interface Testing) is a software testing type which focuses on the determination if the developed APIs meet expectations regarding the functionality, reliability, performance, and security of the application.
The interest in API testing has been growing steadily over the last couple years, according to Google Trends. Research by Smartbear over 5,000 software professionals in 2017 showed the number of API testers automating more than 50% of their tests expected the numbers to grow by 30% ( from 59% to 77%) in the next two years and 80% of the survey participants reported they were responsible for testing APIs.
Having the right process, tool and solution for API automation test are more critical than ever. And with the shift-left trend, API testing is more than just a quality control solution but a crucial component of a success CI/CD deployment.
This article will provide the summary of the top API testing tools cover both open-source and commercial solutions that testing teams can select to suit their needs.
1.SoapUI
SoapUI is a headless functional testing tool dedicated to API testing, allowing users to test REST and SOAP APIs and Web Services easily.
Using SoapUI, users can get the full source and build the preferred features besides these abilities:
Create test quickly and easily with Drag and drop, Point-and-click
Quickly create custom code using Groovy
Powerful data-driven testing: Data loaded from files, and databases, and Excel so that they can simulate how consumers interact with the APIs
Create complex-scenarios & support asynchronous testing
Reusability of Scripts: load tests and security scans can be reused for functional test cases in a just several steps
Website: https://www.soapui.org/
Pricing: Free - $659/year
2.Postman
Being originally a Chrome browser plugin, Postman now extends their solution with the native version for both Mac and Windows.
Postman is a good choice for API testing for those who don’t want to deal with coding in an integrated development environment using the same language as the developers.
Easy-to-use REST client
Rich interface which makes it easy to use
Can be used for both automated and exploratory testing
Can be run on Mac, Windows, Linux & Chrome Apps
Has a bunch of integrations like support for Swagger & RAML formats
Has Run, Test, Document and Monitoring Features
Doesn’t require learning a new language
Enable users to easily share the knowledge with the team as they can package up all the requests and expected responses, then send to their colleagues.
Website: https://www.getpostman.com/
Pricing: Free - $21/user/month
3.Katalon Studio
Katalon Studio is a free automation test tool provide a common environment to create and execute UI functional, API/Web services and mobile testing.
The capability to combine UI and Business levels (API/Web services) for different environments (Windows, Mac OS, Linux) has been considered an advantage of Katalon Studio.
Katalon Studio supports SOAP and RESTful request with various types of commands (GET, POST, PUT, DELETE) with parameterized capability.
Support combination test between UI and API verification.
Support testing both SOAP and RESTful requests.
Hundreds of built-in keywords for creating test cases .
Support one of the most powerful assertion library, AssertJ to create fluent assertion with BDD style.
Support data-driven approach.
Can be use for both automated and exploratory testing.
Suitable for both pros and non-techies
Website: https://www.katalon.com
Pricing: Free
4.Tricentis Tosca
Tricentis Tosca is a continuous testing platform for Agile and DevOps. Benefits of Tricentis Tosca include:
Supports many array of protocols: HTTP(s) JMS, AMQP, Rabbit MQ, TIBCO EMS, SOAP, REST, IBM MQ,NET TCP
Integrates into the Agile and DevOps Cycle
Maximize reuse and maintainability with model-based test automation
API tests can be used across mobile, cross-browser, packaged apps, etc…
Achieve sustainable automation with new technology
Reduce the time of regression testing
Website: https://www.tricentis.com/
Pricing: Contact Sales
5.Apigee
Apigee is a cross-cloud API testing tool, allowing users to measure and test API performance, supports and build API using other editors like Swagger.
It is multi-step and powered by Javascript
Allows the design monitor, deploy, and scale APIs
Identify performance issues by tracking API traffic, error rates, and response times
Easily create API proxies from the Open API Specification and deploy them in the cloud
Cloud, on-premise, or hybrid deployment model on a single code base
PCI, HIPAA, SOC2, and PII for apps and APIs
Apigee is purpose-built for digital business, and the data-rich mobile-driven APIs and apps that power it.
Website: https://apigee.com/api-management/
Pricing: Free trial - $2,500/month
6.JMeter
JMeter (open source) is widely used for functional API testing although it is actually created for load testing.
Supports replaying of test results
Automatically work with CSV files, allowing the team to quickly create unique parameter values for the API tests.
Users can include the API tests in CI pipelines thank to the integration between JMeter and Jenkins
It can be used for both static as well as dynamic resources performance testing
Website: https://jmeter.apache.org/
Pricing: Open source
7.Rest-Assured
Rest-Assured is an open-source Java Domain-specific language that makes testing REST service more simple.
Have a bunch of baked-in functionalities, which means users don’t have to code things from scratch.
Integrates seamlessly with Serenity automation framework, so that users can combine the UI and REST tests all in one framework that generates awesome reports.
Support BDD Given/When/Then syntax
Users don’t necessarily need to be an HTTP expert
Website: http://rest-assured.io/
Pricing: Open Source
8.Assertible
Assertible is an API testing tool which concentrates on the automation and reliability.
Support for automating API tests through each step of a continuous integration and delivery pipeline.
Support for running API tests after deployments and integrates with familiar tools like GitHub, Slack, and Zapier.
Support validating HTTP responses with turn-key assertions such as JSON Schema validation and JSON Path data integrity checks
Website: https://assertible.com/
Pricing: Free - $500/month
9.Karate DSL
Karate DSL is a new API testing tool which help create scenarios for API-based BDD tests in a simple way without writing step definitions. Those definitions have been created by KarateDSL so that users can kickstart the API testing quickly.
Build on top of Cucumber-JVM
Can run a test and generate reports like any standard Java project
A test can be written without any Java knowledge required
Tests are easy to write even for non-programmers
Supports configuration switching/staging, multi-threaded parallel execution
Website: https://github.com/intuit/karate
Pricing: Open Source
10.No one-size-fit-all tools
It hurts, but true!
We believe the list above nominates the best solution available out there if you are planning to adopt API automation testing. However, like most of the solutions in this industry, finding the ideal-one-tool to do it all is almost impossible.
Some may find the features of the commercial players (Postman, Tricentis Tosca,…) are sufficient but the costs of ownership will be the show-stop factor. Open source solutions (Rest-Assured, Karate DSL,…) are affordable but require skilled resources and effort to implement the right frameworks. Tools which seem to be a relative balance between cost and other factors (Katalon Studio, Postman) might have drawbacks to specific project types that need to be considered.
Original post: https://medium.com/@alicealdaine/top-10-api-testing-tools-rest-soap-services-5395cb03cfa9
Sorry for my Chinese skills :), if you could help me translate the article to Chinese it would be great.