Comparison of API simulation tools

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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]
simulado Yes; MIT[32] Yes HTTP(S) No Yes Yes Yes simulado GitHub page
SoapUI MockServer Yes; EUPL[33] Yes HTTP(S)[34] Yes[34] No[34] No[34] No[34] MockServer quick start
Traffic Parrot Partial[35]; Proprietary[36] No HTTP(S), JMS (Queues and Topics), IBM® MQ, File transfers, gRPC, Amazon Simple Queue Service (SQS), Azure AMQP Service Bus[36]

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

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. ^ 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. ^ simulado license
  33. ^ SoapUI Licence
  34. ^ a b c d e SoapUI MockServer documentation
  35. ^ Traffic Parrot HTTP(S) component is based on open source Wiremock
  36. ^ a b c d e Traffic Parrot home page
  37. ^ Traffic Parrot list of beta features
  38. ^ Traffic Parrot Dynamic Responses Documentation
  39. ^ Traffic Parrot is compatible with Docker, Kubernetes and Openshift
  40. ^ Wilma License
  41. ^ Wilma Feature list
  42. ^ Docker images of Wilma
  43. ^ Wiremock License
  44. ^ Mocklab
  45. ^ WireMock.Net License
  46. ^ WireMock.Net .Net Core 2.0 Linux image
  47. ^ WireMock.Net .Net Core 2.0 windows-nano image
  48. ^ Wiresham License

[1]

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