The rising pattern of utilizing SOA after which microservices as a software program structure has led to the creation of a number of instruments for automated testing of the companies API. This text presents a listing of open supply API testing instruments.
Wikipedia defines an software programming interface (API) is a means for 2 or extra laptop applications to speak with one another. This is the case at present for contemporary internet and cloud software program architectures, the place shoppers talk with server-side companies, for example to retrieve or replace knowledge.
The API defines the communication protocol between the shopper and the companies and the way companies will behave. You should use completely different protocols or structure conventions to handle interactions in your functions. The Easy Object Entry Protocol (SOAP) proposes to make use of XML because the message format and talk requests by HTTP or SMTP. The Representational State Switch (REST) differs from SOAP as a result of SOAP is a protocol, whereas REST is an architectural fashion. Lastly, you should utilize GraphQL that may be a question language and server-side runtime as a substitute for REST.
API testing software choice technical standards
Apart from the plain license and worth, for those who decide a industrial API testing software, there are many technical standards that you should utilize to decide on your API testing software. Listed here are a few of them:
* How do you outline and handle your assessments (code, low code, no code)
* Supported applied sciences (programming languages, platforms, …)
* Integration with different elements of the software program growth and supply course of just like the CI/CD instruments
* Authentication and authorization
* Logging and monitoring
Apickli
Apickli is an open supply REST API integration testing framework based mostly on Cucumber. It supplies a gherkin framework and a group of utility capabilities to make API testing simple and fewer time-consuming. Apickli can also be accessible as an NPM package deal.
Web site: https://github.com/apickli/apickli
Dredd
Dredd is a language-agnostic command-line software for validating API description doc towards backend implementation of the API. Dredd reads your API description and step-by-step validates whether or not your API implementation replies with responses as they’re described within the documentation. Dredd helps automated testing REST API, producing beautiful report, and producing beautiful REST API documentation based mostly on historic instances.
Web site: https://github.com/apiaryio/dredd
Frisby
Frisby is an open supply REST API testing framework constructed on Jest that goals to make testing API endpoints simple, quick, and enjoyable. Frisby.js comes loaded with many built-in instruments for the commonest issues it’s good to take a look at for to make sure your REST API is working because it ought to, and returning the right properties, values, and kinds. Whenever you want one thing customized, Frisby.js additionally supplies a simple approach to customise and prolong assertions to make your job simpler, with much less repetitive and tedious code.
Web site: https://github.com/vlucas/frisby
mountebank
mountebank is the primary open supply API testing software to offer cross-platform, multi-protocol take a look at doubles over the wire. Merely level your software below take a look at to mountebank as a substitute of the actual dependency, and take a look at such as you would with conventional stubs and mocks. mountebank employs a legion of imposters to behave as on-demand take a look at doubles. Your take a look at communicates to mountebank over http utilizing the API to arrange stubs, report and replay proxies, and confirm mock expectations. Within the typical use case, every take a look at will begin an imposter throughout take a look at setup and cease an imposter throughout take a look at teardown, though you’re additionally welcome to configure mountebank at startup utilizing a config file. mountebank employs a number of forms of imposters, every responding to a particular protocol. Usually, your take a look at will inform the imposter which port to bind to, and the imposter will open the corresponding socket.
Web site: http://www.mbtest.org/, https://github.com/bbyars/mountebank
RestAssured
Testing and validating REST companies in Java is more durable than in dynamic languages comparable to Ruby and Groovy. REST Assured brings the simplicity of utilizing these languages into the Java area.
Web site: https://rest-assured.io/, https://github.com/rest-assured/rest-assured
Schemathesis
Schemathesis is a specification-centric API testing software for Open API and GraphQL-based functions. It reads the appliance schema and generates take a look at instances, which can make sure that your software is compliant with its schema and by no means crashes. The applying below take a look at may very well be written in any language; the one factor you want is a legitimate API schema in a supported format. Easy to make use of and but highly effective to uncover hard-to-find errors due to the property-based testing method backed by state-of-the-art Speculation library.
Web site: https://github.com/schemathesis/schemathesis
SoapUI
SoapUI is a free and open supply cross-platform practical testing resolution for APIs and internet companies. It supplies the flexibility to check REST, SOAP, and GraphQL APIs. SoapUI is java based mostly, so it runs on most working methods, We take a look at it on a number of Home windows Variations in addition to Mac and the a number of Linux dialects. SoapUI requires a 1.6+ model of the JRE (Java Runtime Atmosphere), not less than 1 GB of reminiscence is advisable, and about 100 MB of disk area.
Web site: https://github.com/SmartBear/soapui
SupeTest
SuperTest is an open supply Tremendous-agent pushed library for testing node.js HTTP servers utilizing a fluent API. The motivation with this module is to offer a high-level abstraction for testing HTTP, whereas nonetheless permitting you to drop to the lower-level API supplied by superagent.
Web site: https://github.com/visionmedia/supertest.https://www.npmjs.com/package deal/supertest
Tavern
Tavern is a pytest plugin, command-line software and Python library for automated testing of APIs, with a easy, concise and versatile YAML-based syntax. It’s quite simple to get began, and extremely customisable for complicated assessments. Tavern helps testing RESTful APIs in addition to MQTT based mostly APIs. Tavern acts as a pytest plugin so that each one it’s a must to do is set up pytest and Tavern, write your assessments in yaml information, and run pytest. This implies you get entry to all the pytest ecosystem. You too can combine Tavern into your individual take a look at framework or steady integration setup utilizing the Python library, or use the command line software, tavern-ci with bash scripts and cron jobs.
Web site: https://taverntesting.github.io/
Knowledge rest-client
Knowledge rest-client is a software helps automated testing REST API, producing beautiful report, and producing beautiful REST API documentation based mostly on historic instances.
Web site: https://github.com/wisdom-projects/rest-client
Extra sources on API Testing
* What’s an API?
* How To Choose a Device For Steady API Testing
* API Testing Challenges
* API Safety Guidelines