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
Camouflage Yes; MIT[9] Yes HTTP(S), HTTP/2 gRPC, Websockets Yes[10] Yes[11] Yes[12] No
Castle Mock Yes; Apache 2[13] Yes HTTP(S) Yes Yes Yes No
Charles Proxy No; Proprietary[14] No HTTP(S) Yes No No No
Ekko Proxy No; Proprietary Yes (non commercial use)[15] 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, and generate mocks directly from OpenAPI or WSDL definition files - all from your own PC / Server or Cloud environment. Yes[16] Yes (Scriptable) Yes No
Hoverfly Yes; Apache 2[17] Yes HTTP(S) Yes Yes Yes Yes [18]
HTTP Toolkit Yes; AGPL[19] Yes (Hobbyist Edition)[20] HTTP(S) Yes No No No
Karate Yes; MIT[21] Yes HTTP(S), Java interop[22] No Yes[23] No No
Mockadillo No; Proprietary No HTTP(S)[24] Yes Yes No Yes
Mocklets No; Proprietary[25] Yes HTTP(S) Yes No No Yes [26]
Mockoon Yes; MIT[27] Yes HTTP(S)[28] Yes Yes Yes [29] No
MockServer Yes; Apache 2[30] Yes HTTP(S) Yes[31] Yes Yes No
Mountebank Yes; MIT[32] Yes HTTP(S), TCP, SMTP[33] No Yes[34] Yes[35] No
Parasoft Virtualize No; Proprietary Yes (Community Edition)[36] AMQP, FIX, FTP, HTTP(S), ISO 8583, JMS,
JDBC, MQ, MQTT, .NET WCF, RabbitMQ, SAP, TCP/IP, etc.[37]
Yes Yes Yes[38] Yes
Postman No; Proprietary Yes (Free Edition)[39] HTTP(S) Yes Yes (JSON Examples) No Yes
QuickMocker No; Proprietary Yes (Free Subscription[40]) HTTP(S) Yes Yes[41] No Yes
sMockin Yes; Apache 2[42] Yes HTTP, Websockets, Server Side Events, plus tools for real time monitoring & live response modification Yes Yes Yes No
SmartMock.io No; Proprietary[43] Yes [44] HTTP(S) Yes Yes No Yes
simulado Yes; MIT[45] Yes HTTP(S) No Yes Yes Yes
SoapUI MockServer Yes; EUPL[46] Yes HTTP(S)[47] Yes[47] No[47] No[47] No[47]
Traffic Parrot No;[48] Proprietary[49] No HTTP(S), JMS (Queues and Topics), IBM® MQ, File transfers, gRPC, Amazon Simple Queue Service (SQS), Azure AMQP Service Bus[49]

In beta:[50] 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[49] Yes[51] Yes[49] Yes[52][49]
tweak No; Proprietary Yes HTTP(S) Yes No No No
Wilma Yes; GPL v3.0[53] Yes [54] HTTP(S) Yes Yes Yes [55] No
Wiremock Yes; Apache 2[56] Yes HTTP(S) No Yes Yes Yes [57]
WireMock.Net Yes; Apache 2[58] Yes HTTP(S) No Yes Yes [59] [60] No
Wiresham Yes; Apache 2[61] Yes TCP No Yes No No

See alsoEdit

ReferencesEdit

  1. ^ a b Thought Works Technology Radar Mountebank
  2. ^ Tom Akehurst at the Next Gen Service Virtualisation Forum
  3. ^ Martin Fowler, Microservce Testing, Component Testing
  4. ^ API Simulator License Agreement
  5. ^ API Simulation Modeler
  6. ^ Scripting in API Simulator
  7. ^ Simula Template Scriptlets
  8. ^ API Simulator in Docker Container
  9. ^ Camouflage License
  10. ^ Camouflage UI
  11. ^ Scripting in Camouflage
  12. ^ Camouflage Docker
  13. ^ Castle Mock License
  14. ^ Charles Proxy EULA
  15. ^ Ekko Proxy License Agreement
  16. ^ Ekko Proxy Usage
  17. ^ Hoverfly license
  18. ^ Hoverfly Cloud
  19. ^ HTTP Toolkit license
  20. ^ HTTP Toolkit tiers
  21. ^ Karate license
  22. ^ Karate-Netty home page
  23. ^ Karate-Netty home page
  24. ^ "Mockadillo". Mockadillo Homepage.
  25. ^ Mocklets Terms of Use
  26. ^ Mocklets
  27. ^ Mockoon license
  28. ^ "Mockoon". Mockoon features page.
  29. ^ Mockoon CLI dockerhub
  30. ^ MockServer License
  31. ^ MockServer Dashboard
  32. ^ Mountebank license
  33. ^ Moutebank home page
  34. ^ Mountebank injection
  35. ^ Running Mountebank in Docker
  36. ^ Parasoft Virtualize Community Edition
  37. ^ Parasoft Virtualize home page
  38. ^ Virtualize Docker Files 1.0
  39. ^ Postman Pricing
  40. ^ QuickMocker Pricing
  41. ^ QuickMocker RegExp & Shortcodes
  42. ^ [1]
  43. ^ SmartMock.io Terms of Use
  44. ^ SmartMock.io pricing
  45. ^ simulado license
  46. ^ SoapUI Licence
  47. ^ a b c d e SoapUI MockServer documentation
  48. ^ Traffic Parrot HTTP(S) component is based on open source Wiremock
  49. ^ a b c d e Traffic Parrot home page
  50. ^ Traffic Parrot list of beta features
  51. ^ Traffic Parrot Dynamic Responses Documentation
  52. ^ Traffic Parrot is compatible with Docker, Kubernetes and Openshift
  53. ^ Wilma License
  54. ^ Wilma Feature list
  55. ^ Docker images of Wilma
  56. ^ Wiremock License
  57. ^ Mocklab
  58. ^ WireMock.Net License
  59. ^ WireMock.Net .Net Core 2.0 Linux image
  60. ^ WireMock.Net .Net Core 2.0 windows-nano image
  61. ^ Wiresham License