Comparison of API simulation tools
The tools listed here support emulating[1] or simulating APIs and software systems. They are also called[2] API mocking tools, service virtualization tools, over the wire test doubles and tools for stubbing and mocking HTTP(S) and other protocols.[1] They enable component testing in isolation.[3]
In alphabetical order by name (click on a column heading to sort by that column):
Name | FOSS | Free | Supported protocols and APIs | Has a GUI | Scriptable/Programmable | Docker support | Cloud offering | Quick start guide |
---|---|---|---|---|---|---|---|---|
API Simulator | No; Proprietary[4] | Yes | HTTP/2 with TLS ALPN; HTTP/2 with prior knowledge; HTTP/2 upgrade from HTTP/1.1; HTTP/1.x with and without TLS/SSL; HTTP(S) | Yes[5] | Yes[6][7] | Yes[8] | No | Basic Concepts |
Charles Proxy | No; Proprietary[9] | No | HTTP(S) | Yes | No | No | No | Charles Proxy Getting Started |
Ekko Proxy | No; Proprietary | Yes (non commercial use)[10] | HTTP(S), JDBC. Record/playback/mock/monitor HTTP and JDBC messages, plus use various tools to securely compare, encode/decode, format, match, and hash data, validate / encode JWT tokens - all from your own PC or server. | Yes[11] | Yes (Scriptable) | Yes | No | Ekko Proxy |
Hoverfly | Yes; Apache 2[12] | Yes | HTTP(S) | Yes | Yes | Yes | Yes [13] | Hoverfly introduction |
HTTP Toolkit | Yes; AGPL[14] | Yes (Hobbyist Edition)[15] | HTTP(S) | Yes | No | No | No | |
Karate | Yes; MIT[16] | Yes | HTTP(S), Java interop[17] | No | Yes[18] | No | No | Quick Start |
Mockadillo | No; Proprietary | No | HTTP(S)[19] | Yes | Yes | No | Yes | |
Mocklets | No; Proprietary[20] | Yes | HTTP(S) | Yes | No | No | Yes [21] | Mocklets Documentation |
Mockoon | Yes; MIT[22] | Yes | HTTP(S)[23] | Yes | Yes | No | No | Getting started |
MockServer | Yes; Apache 2[24] | Yes | HTTP(S) | Yes[25] | Yes | Yes | No | MockServer Getting Started |
Mountebank | Yes; MIT[26] | Yes | HTTP(S), TCP, SMTP[27] | No | Yes[28] | Yes[29] | No | Mountebank Getting Started |
Parasoft Virtualize | No; Proprietary | Yes (Community Edition)[30] | AMQP, FIX, FTP, HTTP(S), ISO 8583, JMS, JDBC, MQ, MQTT, .NET WCF, RabbitMQ, SAP, TCP/IP, etc.[31] | Yes | Yes | Yes[32] | Yes | |
QuickMocker | No; Proprietary | Yes (Free Subscription[33]) | HTTP(S) | Yes | Yes[34] | No | Yes | QuickMocker |
sMockin | Yes; Apache 2[35] | Yes | HTTP, Websockets, Server Side Events, JMS (Queues and Topics), FTP | Yes | No | No | No | |
SmartMock.io | No; Proprietary[36] | Yes [37] | HTTP(S) | Yes | Yes | No | Yes | SmartMock.io Getting started |
simulado | Yes; MIT[38] | Yes | HTTP(S) | No | Yes | Yes | Yes | simulado GitHub page |
SoapUI MockServer | Yes; EUPL[39] | Yes | HTTP(S)[40] | Yes[40] | No[40] | No[40] | No[40] | MockServer quick start |
Traffic Parrot | Partial;[41] Proprietary[42] | No | HTTP(S), JMS (Queues and Topics), IBM® MQ, File transfers, gRPC, Amazon Simple Queue Service (SQS), Azure AMQP Service Bus[42] In beta:[43] FIX, FAST, FIXatdl, SWIFT, AMQP, MQTT, RabbitMQ, SonicMQ, Kafka, CORBA, FTP, SFTP, .NET WCF, RMI, MTP, TIBCO EMS, CICS, SAP RFC, JDBC, Mongo, Databases, OFX, IFX, RIXML, AS2, Amazon Simple Notification Service (SNS), AWS IoT Message Broker, XMPP, Google Cloud Messaging (GCM), Azure Event Grid, Azure Event Hubs, Azure Service Bus, STOMP, Thrift, Avro, HTTP/2 (HTTP2), LWM2M, CoAP (Constrained Application Protocol), ZeroMQ, Broker-J (BrokerJ), Qpid, QUIC and gQUIC (Google QUIC) | Yes[42] | Yes[44] | Yes[42] | Yes[45][42] | Traffic Parrot Quick Start |
tweak | No; Proprietary | Yes | HTTP(S) | Yes | No | No | No | tweak official website |
Wilma | Yes; GPL v3.0[46] | Yes [47] | HTTP(S) | Yes | Yes | Yes [48] | No | Wilma - combined stub and proxy |
Wiremock | Yes; Apache 2[49] | Yes | HTTP(S) | No | Yes | Yes | Yes [50] | Wiremock Getting Started |
WireMock.Net | Yes; Apache 2[51] | Yes | HTTP(S) | No | Yes | Yes [52] [53] | No | WireMock.Net Wiki |
Wiresham | Yes; Apache 2[54] | Yes | TCP | No | Yes | No | No | Wiresham Repo |
See also
References
- Thought Works Technology Radar Mountebank
- Tom Akehurst at the Next Gen Service Virtualisation Forum
- Martin Fowler, Microservce Testing, Component Testing
- API Simulator License Agreement
- API Simulation Modeler
- Scripting in API Simulator
- Simula Template Scriptlets
- API Simulator in Docker Container
- Charles Proxy EULA
- Ekko Proxy License Agreement
- Ekko Proxy Usage
- Hoverfly license
- Hoverfly Cloud
- HTTP Toolkit license
- HTTP Toolkit tiers
- Karate license
- Karate-Netty home page
- Karate-Netty home page
- "Mockadillo". Mockadillo Homepage.
- Mocklets Terms of Use
- Mocklets
- Mockoon license
- "Mockoon". Mockoon features page.
- MockServer License
- MockServer Dashboard
- Mountebank license
- Moutebank home page
- Mountebank injection
- Running Mountebank in Docker
- Parasoft Virtualize Community Edition
- Parasoft Virtualize home page
- Virtualize Docker Files 1.0
- QuickMocker Pricing
- QuickMocker RegExp & Shortcodes
- SmartMock.io Terms of Use
- SmartMock.io pricing
- simulado license
- SoapUI Licence
- SoapUI MockServer documentation
- Traffic Parrot HTTP(S) component is based on open source Wiremock
- Traffic Parrot home page
- Traffic Parrot list of beta features
- Traffic Parrot Dynamic Responses Documentation
- Traffic Parrot is compatible with Docker, Kubernetes and Openshift
- Wilma License
- Wilma Feature list
- Docker images of Wilma
- Wiremock License
- Mocklab
- WireMock.Net License
- WireMock.Net .Net Core 2.0 Linux image
- WireMock.Net .Net Core 2.0 windows-nano image
- Wiresham License
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.