Top 10 Tools For Testing APIs in 2018
Interest in testing is growing uncontrollably over the past few years, according to Google Trends. A survey conducted by Smartbear in 2017 among 5000 professionals in software development showed that more than 50% of the respondents use automatic API testing tools, and their number is expected to grow by 30% (from 59% to 77%) during the following two years, with 80% of the survey participants indicating that they are responsible for testing the API.
Having the right processes, tools and technical solutions for automatic API testing is becoming more important than ever. And with the shift-left trend, API testing is becoming more than just a quality control solution, now it is a critical component of successful continuous integration and deployment of software.
This article provides an overview of the best API testing tools, both with open access and commercial solutions, from which test teams can choose the most suitable ones for themselves.
1. SoapUI
SoapUI is a console tool designed for testing APIs and allowing users to easily test the REST and SOAP APIs, as well as Web services.
With SoapUI, users can get the full source document and embed the preferred feature set, in addition to the following:
- Create a test easily and quickly using drag-and-drop and point-and-click techniques,
- Quickly create custom code with Groovy
- Powerful data testing: Data is downloaded from files, databases and Excel, so they can create a user interaction simulation and API.
- Creating complex scenarios and supporting asynchronous testing
- Reusing scripts: loading tests and scanning security can be reused in the case of functional testing in just a few steps
Website: https://www.soapui.org/
Price: Free of charge – 659 $/Yearly
2. Postman
Being originally a browser plug-in for Chrome, now Postman is expanding its technical solutions with original versions for both Mac and Windows.
Postman is an excellent choice of API testing for those who do not want to deal with encodings in the IDE using the same programming language as the developer.
- Easy-to-use REST client
- A rich interface makes this tool simple and convenient to use
- Can be used for both automatic and research testing
- Works in applications for Mac, Windows, Linux, and Chrome
- Has an integration package, such as support for Swagger and RAML formats
- Has Run, Test, Document and Monitoring functions
- Does not require learning a new programming language
- Allows users to easily share experience and knowledge with other team members, as it allows you to pack all requests and expected answers and send them to colleagues.
Website: https://www.getpostman.com/
Price: Free – $21/per user per month
3. Katalon Studio
Katalon Studio is a free automated testing tool that provides a common environment for creating and executing UI functionality, API / Web services and testing mobile platforms.
The ability to combine the UI and Business levels (API / Web services) for different operating environments (Windows, Mac OS, Linux) is regarded as a significant advantage of Katalon Studio over similar products.
Katalon Studio supports SOAP and RESTful requests with various types of commands (GET, POST, PUT, DELETE) with parameterized capabilities.
Basic properties:
- Support for a combination test between UI and API verifications.
- Support for testing both SOAP and RESTful queries.
- Hundreds of built-in keys for creating test tasks.
- Support one of the most powerful AssertJ assertion validation libraries for creating dynamic statements in the BDD style.
- Support for a data-driven approach.
- It can be used both for automatic and for research testing.
- Great for both professionals and beginners
Website: https://www.katalon.com
Price: Free
4. Tricentis Tosca
Tricentis Tosca is a platform for continuous testing for Agile and DevOps. Among the advantages of Tricentis Tosca should be noted:
- Support for many protocol arrays: HTTP (s) JMS, AMQP, Rabbit MQ, TIBCO EMS, SOAP, REST, IBM MQ, NET TCP
- Integration into Agile and DevOps cycles
- Maximizing reusability and the ability to support test automation based on the use of models
- API tests can be used both on mobile, browser and batch applications, etc.
- Automation, supported by new technologies, has been achieved
- Reduced time required for regression testing
Website: https://www.tricentis.com/
Price: Ask the seller
5. Apigee
Apigee is a cross-cloud API testing tool that allows users to measure and test API performance, provide technical support and API development with other editors such as Swagger.
- This tool is multi-step and is controlled by Javascript
It allows you to develop, track, execute, and scale the API - Identifies problems by tracking API traffic, error rate, and response time
- Easily creates an API proxy from the Open API Specification and performs them in a “cloud”
- Expanding models in the “cloud”, local deployment and hybrid deployment work on the basis of a single code
- PCI, HIPAA, SOC2, and PII for applications and APIs
- Apigee is designed specifically for digital business and intensive data processing tasks on the mobile API platforms and applications that manage it.
Website: https://apigee.com/api-management/
Price: Free trial period – $2,500/month
6. JMeter
JMeter (open source software) is widely used for functional testing API, but it was originally created for load testing.
- Supports playback of test results
- Automatically works with CSV files, allowing the team to quickly create unique parameter values for API testing.
- Through integration between JMeter and Jenkins, users can include API tests in CI pipelining
- This tool can be used for both static and dynamic testing of resource performance
Website: https://jmeter.apache.org/
Price: Open source software
7. Rest-Assured
Rest-Assured is a publicly accessible, object-oriented Java language that makes the REST testing service easier and more convenient.
- Has a set of built-in functionals, the presence of which means that the user does not have to code again.
- Reliably integrated with the automated Serenity platform, which allows users to combine UI and REST tests within a single platform and get amazing results.
- Supports BDD Given/When/Then syntax constructs
- Users do not need to be experts in the field of HTTP
Website: http://rest-assured.io/
Price: Open source software
8. Assertible
Assertible is an API testing tool, which primarily focuses on process automation and reliability.
- Provides automatic testing of the API at every stage of the process of integration and delivery of software.
- Provides support for current API tests after application deployment and integrates them with familiar tools such as GitHub, Slack, and Zapier.
- Supports the authentication of HTTP responses using ready-made error acknowledgment statements such as JSON Schema validation and JSON Path integrity checking
Website: https://assertible.com/
Price: Free – $500/month
9. Karate DSL
Karate DSL is a new API testing tool that helps to develop scripts for BDD tests based on API in a simple way, without writing the characteristics of the steps. These characteristics are created by KarateDSL itself, and therefore users can launch API testing easily and quickly.
- Built-in on top of Cucumber-JVM
- Is able to run testing and generate reports like any other standard Java project
- The test can be developed without compulsory knowledge of the Java language
- Tests can easily be created even by non-programmers
- Supports the advance/switch configuration, as well as multi-threaded parallel code execution
Website: https://github.com/intuit/karate
Price: Open source software
10. No solution can combine all the tools
It’s painful to realize, however, it’s true!
We believe that the above list represents the best solutions available at the moment if you decide to use the automatic API testing. However, as with most products in this area, it is almost impossible to find one tool that combines all of these functions.
Some may find that the properties of commercial products (Postman, Tricentis Tosca, …) will be sufficient, but the price of the issue will serve as a serious deterrent. Free and public solutions (Rest-Assured, Karate DSL, …) are quite acceptable but require skilled skills and a lot of effort to implement the correct platform. Tools that hold a balance between price and other factors (Katalon Studio, Postman) may have drawbacks for some types of projects, and these shortcomings require close evaluation.
- Testing API has created its own trend in the field of automatic testing, and the further, the more tools will be created to meet the growing demands from software development teams. Finding the perfect tool is still difficult, but we have good news – now your choice has become much wider than it was before.
Think carefully about your requirements, weigh all the pros and cons of each decision – try not to be too picky in the early stages and try the top 5 candidates from our list. When you create a list of all the pros and cons for these decisions, you will get a more adequate picture of the critical factors of your project and will be able to edit the list of tools. This approach will provide you with a good opportunity to identify the appropriate tool for the current stage and information about the next tool when your projects become more complex, complex and experienced.
I would be very pleased to hear your feedback, therefore – if you know of other tools that can be used for similar purposes – I would be grateful for your contribution to the research of the topic.
Reference to the original content: