Table of contents
- Postman (https://www.getpostman.com/)
- SoapUI (https://www.soapui.org/)
- Tricentis Tosca (https://www.tricentis.com/)
- Katalon Studio (https://www.katalon.com/)
- JMeter (https://jmeter.apache.org/)
- Apigee (https://www.apigee.com/api-management/)
- Assertible (https://assertible.com/)
- Rest-Assured (http://www.rest-assured.io/)
- Karate DSL (https://www.github.com/intuit/karate)
- Is there a one-size-fits-all solution
According to research by Google Trends, there has been a growing interest in testing application programming interfaces (APIs) lately. In 2017, the American company SmartBear Software, which develops software for programmers and testers, conducted a large-scale survey among professionals in this field. The result showed that more than half of programmers use automated tools for API testing. At the same time, this indicator is expected to grow up to 80%.
Hence, using effective tools for automated testing of APIs is extremely important. Today it is becoming clear that API testing is not just a quality control method, but also a component of effective software implementation.
In this article, we will provide an overview of 9 solutions (free or commercial) for API testing.
1. Postman ( www.getpostman.com )
This tool has evolved from a Chrome plugin to a feature-rich testing tool compatible with Windows and Mac platforms. Postman is considered the best choice for those who want to use a developer language rather than working with encodings in an integrated programming environment. The following advantages of the tool can be distinguished:
- wide interface makes testing convenient and simple;
- you can use the technology of automatic and exploratory testing;
- easy-to-use REST client;
- a wide range of integration options, including compatibility with RAML and Swagger formats;
- functions correctly in programs developed for Windows, Linux, Mac and Chrome;
- the Document, Monitoring, Run and Test functions are included;
- no need to learn a new programming language for full use;
- integrated system for easy exchange of experience between team members. The program organizes requests and expected responses, sends the results to the project participants.
Price: from a free trial period to $ 21 per account per month.
2. SoapUI ( www.soapui.org )
It is a handy console tool that allows you to quickly and easily test SOAP, REST APIs, and web services. Using SoapUI, you can open the source document and integrate the required set of functions, including those described below:
- fast creation of program code using Groovy technology;
- quick creation of tests using the “point-click” method and the usual movement of objects with the mouse;
- powerful API testing with loading data from Excel, databases and files. This algorithm allows you to realistically simulate the real interaction between the user and the API;
- there is support for asynchronous testing and the ability to run complex scripts;
- security scans and test downloads can be reused with just a couple of clicks.
Price: from a free trial period to $ 659 / year.
It is a continuous testing platform for DevOps and Agile technologies. The following advantages of the tool can be distinguished:
- Supports most popular protocols including REST, IBM MQ, Rabbit MQ, TIBCO EMS, NET TCP, SOAP, AMQP, and HTTP (s) JMS;
- integrates into DevOps and Agile cycles;
- API testing can be performed on mobile, browser and batch applications;
- automation is supported by the introduced advanced technologies;
- reduced time for regression tests.
Price: subject to change.
4. Katalon Studio ( www.katalon.com )
This is a free API testing tool, which is especially popular with novice developers. It provides a common environment for developing Web services. The main advantage of the solution is its ability to combine the Business (API / Web services) and UI tiers. The tool is fully compatible with Mac OS, Linux and Windows operating systems.
Katalon Studio supports RESTful and SOAP requests with different commands (PUT, DELETE, GET, POST). In this case, it is possible to customize the command parameters.
- support for API testing of RESTful and SOAP requests;
- many integrated keys for setting test problems;
- combined test support between API and UI verifications;
- support for the AssertJ assertion validation library;
- the possibility of applying a data-driven approach;
- the use of exploratory and automatic testing;
- a good solution for both novice developers and experienced ones.
5. JMeter ( www.jmeter.apache.org)
This open source software was originally developed for stress testing. But today it is actively used for functional testing.
- automatically supports CSV files, which is necessary for quickly specifying unique test parameters;
- test results are reproduced;
- can be used within dynamic and static API testing to determine the performance of technical resources;
- the integration of Jenkins and JMeter opens up the ability to include tests in CI pipelining.
Price: open source software.
6. Apigee ( www.apigee.com/api-management )
- Provides the ability to develop, deploy, track, and scale APIs;
- using the Open API Specification to quickly create proxies and deploy them in the cloud;
- identifies weak points by monitoring traffic, estimating the number of errors and the duration of waiting for a response;
- on-premises and cloud deployment models operate from the same code, and hybrid mode is also available.
Apigee testing system is designed for online businesses and areas
where data intensive processing is required. Due to its specificity and versatility, the solution cannot be called affordable.
Price: Free trial up to $ 2,500 / month.
7. Assertible (www.assertible.com)
It is an API testing tool that is robust and process-automated. Its advantages are as follows:
- the system provides automatic API testing at all stages of application integration and delivery;
- maintains ongoing tests after software integration by combining them with popular Slack, Zapier and GitHub tools;
- Authenticity of HTTP responses is maintained using out-of-the-box statements, which allows you to control the presence of integrity errors.
Price: from a free trial period to $ 500 / month.
8. Rest-Assured ( www.rest-assured.io )
It is an open, domain-specific Java language that makes REST testing fast and easy. Its pluses:
- has a large set of integrated functionality, so you don’t have to resort to re-coding;
- well integrated with the Serenity platform, which makes it possible to combine REST and UI tests in one environment, getting good results;
- Compatible with BDD Given / When / Then syntax;
- you don’t need to have a deep understanding of HTTP to fully use it.
Price: open source software.
9.Karate DSL ( www.github.com/intuit/karate )
A relatively new API testing solution that helps you create BDD test scripts without having to write step characteristics. The required characteristics are generated by the Karate DSL itself, which speeds up and simplifies the test launching process.
- integrated on top of Cucumber-JVM;
- can run tests and receive reports like other standard Java tools;
- Supports parallel multithreading code execution as well as switch / advance configuration;
- you can create a test without knowledge of the Java programming language;
- testing can be carried out by a person who does not directly work in programming.
Price: open source software.
Is there a one-size-fits-all solution
No. The above tools allow you to cope with any tasks in the field of API testing, but only in a complex. Like all developer products, API testing solutions cannot combine all possible functionality within a single product.
For most interested users, the possibilities of paid products are quite enough, but the transition to them is constrained by the relatively high cost. Free solutions are quite capable of coping with various types of testing, but their use is associated with the need to obtain specific knowledge, as well as with some complexity of implementation. In addition, it should be borne in mind that some quite convenient tools may not be compatible with a specific platform, technology or task.
You need to understand that API testing is a current trend in the field of automated software testing. Therefore, new instruments will inevitably appear on the market. They will be more user-friendly, feature-rich, or specialized. In any case, there will not be an ideal solution for all software development problems in the near future. But expanding the range of testing tools definitely plays into the hands of developers.
Now all that remains is to formulate your requirements, evaluate all the advantages and disadvantages of suitable solutions and make a choice. To get an objective opportunity to evaluate products for testing, try the tools from the list below. This approach will help you determine which platform is more suitable for certain tasks, as well as create your own top. As a result, as new tools for API testing appear on the market, you will be able to clearly understand whether it is worth using new products or their capabilities are covered by existing solutions.