Jump to content

Comparison of API simulation tools

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Jgurda (talk | contribs) at 18:56, 14 August 2020 (Fixed links to SmartMock.io pricing and terms of use). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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), plus various tools to securely compare, encode/decode, format, match, and hash data, validate / encode JWT tokens. 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
MockServer Yes; Apache 2[22] Yes HTTP(S) Yes[23] Yes Yes No MockServer Getting Started
Mountebank Yes; MIT[24] Yes HTTP(S), TCP, SMTP[25] No Yes[26] Yes[27] No Mountebank Getting Started
Parasoft Virtualize No; Proprietary Yes (Community Edition)[28] AMQP, FIX, FTP, HTTP(S), ISO 8583, JMS,
JDBC, MQ, MQTT, .NET WCF, RabbitMQ, SAP, TCP/IP, etc.[29]
Yes Yes Yes[30] Yes
sMockin Yes; Apache 2[31] Yes HTTP, Websockets, Server Side Events, JMS (Queues and Topics), FTP Yes No No No [2]
SmartMock.io No; Proprietary[32] Yes [33] HTTP(S) Yes Yes No Yes SmartMock.io Getting started
simulado Yes; MIT[34] Yes HTTP(S) No Yes Yes Yes simulado GitHub page
SoapUI MockServer Yes; EUPL[35] Yes HTTP(S)[36] Yes[36] No[36] No[36] No[36] MockServer quick start
Traffic Parrot Partial[37]; Proprietary[38] No HTTP(S), JMS (Queues and Topics), IBM® MQ, File transfers, gRPC, Amazon Simple Queue Service (SQS), Azure AMQP Service Bus[38]

In beta[39]: 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[38] Yes[40] Yes[38] Yes[41][38] Traffic Parrot Quick Start
tweak No; Proprietary Yes HTTP(S) Yes No No No tweak official website
Wilma Yes; GPL v3.0[42] Yes [43] HTTP(S) Yes Yes Yes [44] No Wilma - combined stub and proxy
Wiremock Yes; Apache 2[45] Yes HTTP(S) No Yes Yes Yes [46] Wiremock Getting Started
WireMock.Net Yes; Apache 2[47] Yes HTTP(S) No Yes Yes [48] [49] No WireMock.Net Wiki
Wiresham Yes; Apache 2[50] Yes TCP No Yes No No Wiresham Repo

See also

References

  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. ^ Charles Proxy EULA
  10. ^ Ekko Proxy License Agreement
  11. ^ Ekko Proxy Usage
  12. ^ Hoverfly license
  13. ^ Hoverfly Cloud
  14. ^ HTTP Toolkit license
  15. ^ HTTP Toolkit tiers
  16. ^ Karate license
  17. ^ Karate-Netty home page
  18. ^ Karate-Netty home page
  19. ^ "Mockadillo". Mockadillo Homepage.
  20. ^ Mocklets Terms of Use
  21. ^ Mocklets
  22. ^ MockServer License
  23. ^ MockServer Dashboard
  24. ^ Mountebank license
  25. ^ Moutebank home page
  26. ^ Mountebank injection
  27. ^ Running Mountebank in Docker
  28. ^ Parasoft Virtualize Community Edition
  29. ^ Parasoft Virtualize home page
  30. ^ Virtualize Docker Files 1.0
  31. ^ [1]
  32. ^ SmartMock.io Terms of Use
  33. ^ SmartMock.io pricing
  34. ^ simulado license
  35. ^ SoapUI Licence
  36. ^ a b c d e SoapUI MockServer documentation
  37. ^ Traffic Parrot HTTP(S) component is based on open source Wiremock
  38. ^ a b c d e Traffic Parrot home page
  39. ^ Traffic Parrot list of beta features
  40. ^ Traffic Parrot Dynamic Responses Documentation
  41. ^ Traffic Parrot is compatible with Docker, Kubernetes and Openshift
  42. ^ Wilma License
  43. ^ Wilma Feature list
  44. ^ Docker images of Wilma
  45. ^ Wiremock License
  46. ^ Mocklab
  47. ^ WireMock.Net License
  48. ^ WireMock.Net .Net Core 2.0 Linux image
  49. ^ WireMock.Net .Net Core 2.0 windows-nano image
  50. ^ Wiresham License

[1]

  1. ^ Cite error: The named reference :0 was invoked but never defined (see the help page).