Comparison of API simulation tools

From Wikipedia the free encyclopedia

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
Beeceptor [14] No; Proprietary[15] Yes (Free plan) HTTP1.1; HTTP2; HTTP(S); SOAP, MITM/Proxing; Swagger; OpenAPI; TLS 1.2; XML; Local tunneling Yes Yes[16] Yes Yes
Camouflage Yes; MIT[17] Yes HTTP(S), HTTP/2 gRPC, Websockets, Thrift Yes[18] Yes[19] Yes[20] No
Charles Proxy No; Proprietary[21] No HTTP(S) Yes No No No
Ekko Proxy No; Proprietary Yes (non commercial use)[22] HTTP(S), JDBC; WSDL, Swagger, OpenApi, JWT. Yes[23] Yes (Scriptable) Yes No
HAM Yes; MIT Yes HTTP(S), SOAP, MITM/Proxing, Swagger, XML, JSON, Jackson-Smile, Brotli, Record, Replay, Automatic tests, Schema verification, JDBC, MongoDb Yes (Web) Yes (Dynamic Javascript and Java Plugins) Yes No
Hoverfly Yes; Apache 2[24] Yes HTTP(S) Yes Yes Yes Yes [25]
HTTP Toolkit Yes; AGPL[26] Yes (Hobbyist Edition)[27] 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[28] Yes HTTP(S), Java interop[29] No Yes[29] No No
Microcks Yes; Apache 2[30] Yes HTTP(S), SOAP, gRPC, GraphQL, AsyncAPI[31] Yes Yes Yes No
Mockadillo No; Proprietary No HTTP(S)[32] Yes Yes No Yes
Mocklets No; Proprietary[33] Yes HTTP(S) Yes No No Yes [34]
Mockoon Yes; MIT[35] Yes HTTP(S)[36] Yes Yes Yes [37] No
MockServer Yes; Apache 2[38] Yes HTTP(S) Yes[39] Yes Yes No
mock.qa No; Proprietary Yes (Free plan)[40] gRPC, gRPC-web, HTTP/1.x, HTTP/2[41] Yes[42] (Web) Yes[43][44] (Scripting language,[45] Request matching,[46] Response templating,[47] Data generation,[48] Stateful scenarios[49]) No Yes
Mountebank Yes; MIT[50] Yes HTTP(S), TCP, SMTP[51] No Yes[52] Yes[53] 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)[54] AMQP, FIX, FTP, HTTP(S), ISO 8583, JMS,
JDBC, MQ, MQTT, .NET WCF, RabbitMQ, SAP, TCP/IP, etc.[55]
Yes Yes Yes[56] Yes
Postman No; Proprietary Yes (Free Edition)[57] HTTP(S) Yes Yes (JSON Examples) No Yes
ProxyMan No; Proprietary Yes,[58] (Limited) HTTP(S), Websockets Yes Yes[59] No No
QuickMocker No; Proprietary Yes (Free Subscription)[60] HTTP(S) Yes Yes[61] No Yes
Rapidmock No; Proprietary[62] Yes (Free Edition) HTTP(S) Yes No No Yes
Requestly Yes; GPL v3.0[63] Yes[64] HTTP(S) Yes Yes No Yes[65]
sMockin Yes; Apache 2[66] Yes HTTP, Websockets, Server Side Events, plus tools for real time monitoring & live response modification Yes Yes Yes No
Smocker Yes; MIT[67] Yes HTTP(S)[68] Yes Yes Yes No
SmartMock.io No; Proprietary[69] Yes [70] HTTP(S) Yes Yes No Yes
Specmatic Yes; MIT[71] Yes HTTP(S), Swagger, OpenAPI, WSDL, Kafka, AsyncAPI, GraphQL, gRPC No Yes Yes No
simulado Yes; MIT[72] Yes HTTP(S) No Yes Yes Yes
SoapUI MockServer Yes; EUPL[73] Yes HTTP(S)[74] Yes[74] No[74] No[74] No[74]
Speedscale No; Proprietary Yes, (Free Trial)[75] HTTP(S), gRPC, GraphQL webservices, Message queues, OSS Databases[76] Yes No, Not required. Traffic recording-based[77] Yes Yes
Stoplight Yes; Apache 2[78] Yes (Free Edition)[79] HTTP(S) and generate mocks directly from OpenAPI Yes Yes Yes Yes
TPM-Proxy Yes; MIT Yes Direct Wire Protocol implementation: HTTP(S), SOAP, MITM/Proxing, OpenAPI, XML, JSON, Jackson-Smile, Brotli, MongoDb, Postgres, MySQL, AMQP 091, MQTT, REDIS, Record, Replay, Modify Yes Yes (Java Plugins) Yes No
Traffic Parrot No; Proprietary[80] No;[81] 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+

Thrift

AMQP 1.0

File transfers over a filesystem

Amazon Simple Queue Service (SQS)

Azure Service Bus AMQP 1.0 [82]

In beta:[83] FIX, FAST, FIXatdl, SWIFT, MQTT, 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, STOMP, Avro, HTTP/2 (HTTP2), LWM2M, CoAP (Constrained Application Protocol), ZeroMQ, Broker-J (BrokerJ), Qpid, QUIC and gQUIC (Google QUIC)

Yes[80] Yes[84] Yes[80] Yes[85][80]
tweak No; Proprietary Yes HTTP(S) Yes No No No
Tricentis API Simulation No; Proprietary Yes(Free Edition)[86] Http(s), AmazonSqs, AMQP, AzureServiceBus, Files, IbmMQ, Kafka, RabbitMQ, Solace Yes [86] Yes [86] Yes [87] Yes [86]
Wilma Yes; GPL v3.0[88] Yes [89] HTTP(S) Yes Yes Yes [90] No
WireMock Yes; Apache 2[91] Yes HTTP(S), gRPC, GraphQL Yes Yes Yes Yes [92]
WireMock.Net Yes; Apache 2[93] Yes HTTP(S) No Yes Yes [94][95] No
Wiresham Yes; Apache 2[96] Yes TCP No Yes No No

See also

[edit]

References

[edit]
  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. ^ apiUi how to mock api calls? how to test api calls?
  10. ^ apiUi License
  11. ^ The apiUi GUI
  12. ^ apiUi Scripting; adding dynamics
  13. ^ apiUi Docker
  14. ^ Beeceptor eases API development and testing by allowing mocking, intercepting and MITM proxies
  15. ^ Beeceptor pricing
  16. ^ Handlebar templates for scripting; adding dynamic responses
  17. ^ Camouflage License
  18. ^ Camouflage UI
  19. ^ Scripting in Camouflage
  20. ^ Camouflage Docker
  21. ^ Charles Proxy EULA
  22. ^ Ekko Proxy License Agreement
  23. ^ Ekko Proxy Usage
  24. ^ Hoverfly license
  25. ^ Hoverfly Cloud
  26. ^ HTTP Toolkit license
  27. ^ HTTP Toolkit tiers
  28. ^ Karate license
  29. ^ a b Karate-Netty home page
  30. ^ Microcks License
  31. ^ Using Microcks
  32. ^ "Mockadillo". Mockadillo Homepage.
  33. ^ Mocklets Terms of Use
  34. ^ Mocklets
  35. ^ Mockoon license
  36. ^ "Mockoon". Mockoon features page.
  37. ^ Mockoon CLI dockerhub
  38. ^ MockServer License
  39. ^ MockServer Dashboard
  40. ^ Mock.qa: Free plan on GitHub Markeplace
  41. ^ Mock.qa: Supported protocols
  42. ^ Mock.qa: Playground
  43. ^ Mock.qa: Configuration
  44. ^ Mock.qa: Configuration examples
  45. ^ Mock.qa: Scripting language
  46. ^ Mock.qa: Request matching
  47. ^ Mock.qa: Response templating
  48. ^ Mock.qa: Data generation
  49. ^ Mock.qa: Stateful scenarios
  50. ^ Mountebank license
  51. ^ Moutebank home page
  52. ^ Mountebank injection
  53. ^ Running Mountebank in Docker
  54. ^ Parasoft Virtualize Community Edition
  55. ^ Parasoft Virtualize home page
  56. ^ Virtualize Docker Files 1.0
  57. ^ Postman Pricing
  58. ^ Proxyman Pricing
  59. ^ Proxyman scripting
  60. ^ QuickMocker Pricing
  61. ^ QuickMocker RegExp & Shortcodes
  62. ^ Rapidmock home page
  63. ^ "requestly/requestly". GitHub.
  64. ^ Requestly Pricing
  65. ^ Requestly Clound Based Mock Server
  66. ^ "Matthewgallina/Smockin". GitHub. 27 March 2022.
  67. ^ Smocker License
  68. ^ Smocker documentation
  69. ^ SmartMock.io Terms of Use
  70. ^ SmartMock.io pricing
  71. ^ "Specmatic". GitHub.
  72. ^ simulado license
  73. ^ SoapUI Licence
  74. ^ a b c d e SoapUI MockServer documentation
  75. ^ "Speedscale Free Trial Version". Speedscale. Retrieved 2024-03-20.
  76. ^ "Technology Support | Speedscale Docs". docs.speedscale.com. Retrieved 2024-03-20.
  77. ^ "How Traffic Recording Works". Speedscale. Retrieved 2024-03-20.
  78. ^ Prism Licence
  79. ^ Stoplight Pricing
  80. ^ a b c d Traffic Parrot home page
  81. ^ Traffic Parrot pricing
  82. ^ Traffic Parrot data sheet
  83. ^ Traffic Parrot list of beta features
  84. ^ Traffic Parrot Dynamic Responses Documentation
  85. ^ Traffic Parrot is compatible with Docker, Kubernetes and Openshift
  86. ^ https://documentation.tricentis.com/tricentis_cloud/en/content/topics/sim_get_started.htm
  87. ^ Wilma License
  88. ^ Wilma Feature list
  89. ^ Docker images of Wilma
  90. ^ WireMock License
  91. ^ WireMock Cloud
  92. ^ WireMock.Net License
  93. ^ WireMock.Net .Net Core 2.0 Linux image
  94. ^ WireMock.Net .Net Core 2.0 windows-nano image
  95. ^ Wiresham License