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 |
---|---|---|---|---|---|---|---|
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 |
apiUi [9] | Yes; GPL v3.0[10] | Yes | HTTP(S); STOMP, Wsdl; Swagger; OpenApi; Cobol | Yes[11] | Yes[12] | Yes[13] | No |
Camouflage | Yes; MIT[14] | Yes | HTTP(S), HTTP/2 gRPC, Websockets | Yes[15] | Yes[16] | Yes[17] | No |
Castle Mock | Yes; Apache 2[18] | Yes | HTTP(S) | Yes | Yes | Yes | No |
Charles Proxy | No; Proprietary[19] | No | HTTP(S) | Yes | No | No | No |
Ekko Proxy | No; Proprietary | Yes (non commercial use)[20] | HTTP(S), JDBC; WSDL, Swagger, OpenApi, JWT. | Yes[21] | Yes (Scriptable) | Yes | No |
Hoverfly | Yes; Apache 2[22] | Yes | HTTP(S) | Yes | Yes | Yes | Yes [23] |
HTTP Toolkit | Yes; AGPL[24] | Yes (Hobbyist Edition)[25] | HTTP(S) | Yes | No | No | No |
Int4 IFTT | No; Proprietary | No | HTTP(S), Middleware virtualization: SAP Process Orchestration, SAP Intelligent Suite, Dell Boomi, Software AG Webmethods, SAP IDOCs | Yes | Yes | No | No |
Karate | Yes; MIT[26] | Yes | HTTP(S), Java interop[27] | No | Yes[28] | No | No |
Mockadillo | No; Proprietary | No | HTTP(S)[29] | Yes | Yes | No | Yes |
Mocklets | No; Proprietary[30] | Yes | HTTP(S) | Yes | No | No | Yes [31] |
Mockoon | Yes; MIT[32] | Yes | HTTP(S)[33] | Yes | Yes | Yes [34] | No |
MockServer | Yes; Apache 2[35] | Yes | HTTP(S) | Yes[36] | Yes | Yes | No |
Mountebank | Yes; MIT[37] | Yes | HTTP(S), TCP, SMTP[38] | No | Yes[39] | Yes[40] | No |
NetOcean | No; Proprietary | No | Web Services Protocols: HTTP, HTTPS, HTTP2, REST, SOAP, Hessian
Others: IMAP, FTP, DNS, XML, JSON, WebSocket ESB / Middleware Protocols, TIBCO JMS Database Protocols: JDBC Proprietary: TCP, UDP Platforms: TIBCO-EMS, IBM-MQ, Kafka SOA Protocols: SOAP, HTTP, XML, REST SMS Gateway Providers: SMTP, POP3 Bill Payments Services: Gift card- PINPAD, AJB |
Yes | Yes | Yes | Yes |
Parasoft Virtualize | No; Proprietary | Yes (Community Edition)[41] | AMQP, FIX, FTP, HTTP(S), ISO 8583, JMS, JDBC, MQ, MQTT, .NET WCF, RabbitMQ, SAP, TCP/IP, etc.[42] |
Yes | Yes | Yes[43] | Yes |
Postman | No; Proprietary | Yes (Free Edition)[44] | HTTP(S) | Yes | Yes (JSON Examples) | No | Yes |
QuickMocker | No; Proprietary | Yes (Free Subscription)[45] | HTTP(S) | Yes | Yes[46] | No | Yes |
Rapidmock | No; Proprietary[47] | Yes (Free Edition) | HTTP(S) | Yes | No | No | Yes |
sMockin | Yes; Apache 2[48] | Yes | HTTP, Websockets, Server Side Events, plus tools for real time monitoring & live response modification | Yes | Yes | Yes | No |
Smocker | Yes; MIT[49] | Yes | HTTP(S)[50] | Yes | Yes | Yes | No |
SmartMock.io | No; Proprietary[51] | Yes [52] | HTTP(S) | Yes | Yes | No | Yes |
simulado | Yes; MIT[53] | Yes | HTTP(S) | No | Yes | Yes | Yes |
SoapUI MockServer | Yes; EUPL[54] | Yes | HTTP(S)[55] | Yes[55] | No[55] | No[55] | No[55] |
Stoplight | Yes; Prism[56] | Yes (Free Edition)[57] | HTTP(S) and generate mocks directly from OpenAPI | Yes | Yes | Yes | Yes |
Traffic Parrot | No; Proprietary[58] | No; [59] | HTTP(S) including REST and SOAP
gRPC JMS (ActiveMQ TCP, ActiveMQ AMQP 1.0, Azure AMQP 1.0, RabbitMQ AMQP 0.9.1, IBM® WebSphere MQ 7.5+) Native IBM® WebSphere MQ 7.5+ AMQP 1.0 File transfers over a filesystem Amazon Simple Queue Service (SQS) Azure Service Bus AMQP 1.0 [60]
|
Yes[58] | Yes[62] | Yes[58] | Yes[63][58] |
tweak | No; Proprietary | Yes | HTTP(S) | Yes | No | No | No |
Wilma | Yes; GPL v3.0[64] | Yes [65] | HTTP(S) | Yes | Yes | Yes [66] | No |
Wiremock | Yes; Apache 2[67] | Yes | HTTP(S) | No | Yes | Yes | Yes [68] |
WireMock.Net | Yes; Apache 2[69] | Yes | HTTP(S) | No | Yes | Yes [70] [71] | No |
Wiresham | Yes; Apache 2[72] | Yes | TCP | No | Yes | No | No |
See also
References
- ^ a b 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
- ^ apiUi how to mock api calls? how to test api calls?
- ^ apiUi License
- ^ The apiUi GUI
- ^ apiUi Scripting; adding dynamics
- ^ apiUi Docker
- ^ Camouflage License
- ^ Camouflage UI
- ^ Scripting in Camouflage
- ^ Camouflage Docker
- ^ Castle Mock License
- ^ 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.
- ^ Mockoon CLI dockerhub
- ^ 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
- ^ Postman Pricing
- ^ QuickMocker Pricing
- ^ QuickMocker RegExp & Shortcodes
- ^ Rapidmock home page
- ^ [1]
- ^ Smocker License
- ^ Smocker documentation
- ^ SmartMock.io Terms of Use
- ^ SmartMock.io pricing
- ^ simulado license
- ^ SoapUI Licence
- ^ a b c d e SoapUI MockServer documentation
- ^ Prism
- ^ Stoplight Pricing
- ^ a b c d Traffic Parrot home page
- ^ Traffic Parrot pricing
- ^ Traffic Parrot data sheet
- ^ 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