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] | No | Yes |
Camouflage | Yes; MIT [17] | Yes | HTTP(S), HTTP/2 gRPC, Websockets, Thrift | Yes [18] | Yes [19] | Yes [20] | No |
Castle Mock | Yes; Apache 2 [21] | Yes | HTTP(S) | Yes | Yes | Yes | No |
Charles Proxy | No; Proprietary [22] | No | HTTP(S) | Yes | No | No | No |
Ekko Proxy | No; Proprietary | Yes (non commercial use) [23] | HTTP(S), JDBC; WSDL, Swagger, OpenApi, JWT. | Yes [24] | 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 [25] | Yes | HTTP(S) | Yes | Yes | Yes | Yes [26] |
HTTP Toolkit | Yes; AGPL [27] | Yes (Hobbyist Edition) [28] | 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 [29] | Yes | HTTP(S), Java interop [30] | No | Yes [30] | No | No |
Microcks | Yes; Apache 2 [31] | Yes | HTTP(S), SOAP, gRPC, GraphQL, AsyncAPI [32] | Yes | Yes | Yes | No |
Mockadillo | No; Proprietary | No | HTTP(S) [33] | Yes | Yes | No | Yes |
Mocklets | No; Proprietary [34] | Yes | HTTP(S) | Yes | No | No | Yes [35] |
Mockoon | Yes; MIT [36] | Yes | HTTP(S) [37] | Yes | Yes | Yes [38] | No |
MockServer | Yes; Apache 2 [39] | Yes | HTTP(S) | Yes [40] | Yes | Yes | No |
mock.qa | No; Proprietary | Yes (Free plan) [41] | gRPC, gRPC-web, HTTP/1.x, HTTP/2 [42] | Yes [43] (Web) | Yes [44] [45] (Scripting language, [46] Request matching, [47] Response templating, [48] Data generation, [49] Stateful scenarios [50] ) | No | Yes |
Mountebank | Yes; MIT [51] | Yes | HTTP(S), TCP, SMTP [52] | No | Yes [53] | Yes [54] | 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) [55] | AMQP, FIX, FTP, HTTP(S), ISO 8583, JMS, JDBC, MQ, MQTT, .NET WCF, RabbitMQ, SAP, TCP/IP, etc. [56] | Yes | Yes | Yes [57] | Yes |
Postman | No; Proprietary | Yes (Free Edition) [58] | HTTP(S) | Yes | Yes (JSON Examples) | No | Yes |
ProxyMan | No; Proprietary | Yes, [59] (Limited) | HTTP(S), Websockets | Yes | Yes [60] | No | No |
QuickMocker | No; Proprietary | Yes (Free Subscription) [61] | HTTP(S) | Yes | Yes [62] | No | Yes |
Rapidmock | No; Proprietary [63] | Yes (Free Edition) | HTTP(S) | Yes | No | No | Yes |
Requestly | Yes; GPL v3.0 [64] | Yes [65] | HTTP(S) | Yes | Yes | No | Yes [66] |
sMockin | Yes; Apache 2 [67] | Yes | HTTP, Websockets, Server Side Events, plus tools for real time monitoring & live response modification | Yes | Yes | Yes | No |
Smocker | Yes; MIT [68] | Yes | HTTP(S) [69] | Yes | Yes | Yes | No |
SmartMock.io | No; Proprietary [70] | Yes [71] | HTTP(S) | Yes | Yes | No | Yes |
specmatic.in | Yes; MIT [72] | Yes | HTTP(S), Swagger, OpenAPI, WSDL, Kafka (WIP) | No | Yes | No | No |
simulado | Yes; MIT [73] | Yes | HTTP(S) | No | Yes | Yes | Yes |
SoapUI MockServer | Yes; EUPL [74] | Yes | HTTP(S) [75] | Yes [75] | No [75] | No [75] | No [75] |
Speedscale | No; Proprietary | Yes, (Free Trial) [76] | HTTP(S), gRPC, GraphQL webservices, Message queues, OSS Databases [77] | Yes | No, Not required. Traffic recording-based [78] | Yes | Yes |
Stoplight | Yes; Apache 2 [79] | Yes (Free Edition) [80] | HTTP(S) and generate mocks directly from OpenAPI | Yes | Yes | Yes | Yes |
Traffic Parrot | No; Proprietary [81] | No; [82] | 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 [83] In beta: [84] 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 [81] | Yes [85] | Yes [81] | Yes [86] [81] |
tweak | No; Proprietary | Yes | HTTP(S) | Yes | No | No | No |
Tricentis API Simulation | No; Proprietary | Yes(Free Edition) [87] | Http(s), AmazonSqs, AMQP, AzureServiceBus, Files, IbmMQ, Kafka, RabbitMQ, Solace | Yes [87] | Yes [87] | Yes [88] | Yes [87] |
Wilma | Yes; GPL v3.0 [89] | Yes [90] | HTTP(S) | Yes | Yes | Yes [91] | No |
WireMock | Yes; Apache 2 [92] | Yes | HTTP(S), gRPC, GraphQL | Yes | Yes | Yes | Yes [93] |
WireMock.Net | Yes; Apache 2 [94] | Yes | HTTP(S) | No | Yes | Yes [95] [96] | No |
Wiresham | Yes; Apache 2 [97] | Yes | TCP | No | Yes | No | No |
Selenium is an open source umbrella project for a range of tools and libraries aimed at supporting browser automation. It provides a playback tool for authoring functional tests across most modern web browsers, without the need to learn a test scripting language. It also provides a test domain-specific language (Selenese) to write tests in a number of popular programming languages, including JavaScript (Node.js), C#, Groovy, Java, Perl, PHP, Python, Ruby and Scala. Selenium runs on Windows, Linux, and macOS. It is open-source software released under the Apache License 2.0.
The Yahoo! User Interface Library (YUI) is a discontinued open-source JavaScript library for building richly interactive web applications using techniques such as Ajax, DHTML, and DOM scripting. YUI includes several cores CSS resources. It is available under a BSD License. Development on YUI began in 2005 and Yahoo! properties such as My Yahoo! and the Yahoo! front page began using YUI in the summer of that year. YUI was released for public use in February 2006. It was actively developed by a core team of Yahoo! engineers.
A robotics simulator is a simulator used to create an application for a physical robot without depending on the physical machine, thus saving cost and time. In some case, such applications can be transferred onto a physical robot without modification.
This is a comparison of web frameworks for front-end web development that are heavily reliant on JavaScript code for their behavior.
Parasoft SOAtest is a testing and analysis tool suite for testing and validating APIs and API-driven applications. Basic testing functionality include functional unit testing, integration testing, regression testing, system testing, security testing, simulation and mocking, runtime error detection, web UI testing, interoperability testing, WS-* compliance testing, and load testing.
Bitbucket is a Git-based source code repository hosting service owned by Atlassian. Bitbucket offers both commercial plans and free accounts with an unlimited number of private repositories.
Vaadin is an open-source web application development platform for Java. Vaadin includes a set of Web Components, a Java web framework, and a set of tools that enable developers to implement modern web graphical user interfaces (GUI) using the Java programming language only, TypeScript only, or a combination of both.
In software engineering, service virtualization or service virtualisation is a method to emulate the behavior of specific components in heterogeneous component-based applications such as API-driven applications, cloud-based applications and service-oriented architectures. It is used to provide software development and QA/testing teams access to dependent system components that are needed to exercise an application under test (AUT), but are unavailable or difficult-to-access for development and testing purposes. With the behavior of the dependent components "virtualized", testing and development can proceed without accessing the actual live components. Service virtualization is recognized by vendors, industry analysts, and industry publications as being different than mocking. See here for a Comparison of API simulation tools.
icCube is known for its embeddable data analytics and visualization software platform tailored specifically for B2B Software-as-a-Service (SaaS) applications, i.e. Embedded analytics.
Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. The service has both free and premium tiers. The software that hosts the containers is called Docker Engine. It was first released in 2013 and is developed by Docker, Inc.
The OpenAPI Specification, previously known as the Swagger Specification, is a specification for a machine-readable interface definition language for describing, producing, consuming and visualizing web services. Previously part of the Swagger framework, it became a separate project in 2015, overseen by the OpenAPI Initiative, an open-source collaboration project of the Linux Foundation.
Kubernetes is an open-source container orchestration system for automating software deployment, scaling, and management. Originally designed by Google, the project is now maintained by a worldwide community of contributors, and the trademark is held by the Cloud Native Computing Foundation.
MockServer is an open source mocking framework for HTTP and HTTPS released under the Apache License. MockServer is designed to simplify integration testing, by mocking HTTP and HTTPS system such as a web service or web site, and to decouple development teams, by allowing a team to develop against a service that is not complete or is unstable.
WebAssembly (Wasm) defines a portable binary-code format and a corresponding text format for executable programs as well as software interfaces for facilitating communication between such programs and their host environment.
Wilma is a Service virtualization software tool that computer programmers and testers use for developing and testing other software. It sits between software components, software services, microservices, as a transparent proxy, and captures the communication traffic between the software components. Based on its actual configuration, evaluates the captured messages and decides between proxying the request or providing response by itself, as a service stub. Therefore, it is a combined Transparent Proxy and Service Stub. It is written in Java, and Open Sourced under the license GPL.
RESTHeart is a Java open source Low code micro-services Open Platform.
MinIO is an object storage system released under GNU Affero General Public License v3.0. It is API compatible with the Amazon S3 cloud storage service. It is capable of working with unstructured data such as photos, videos, log files, backups, and container images with the maximum supported object size being 50TB.
ZeroTier, Inc. is a software company with a freemium business model based in Irvine, California. ZeroTier provides proprietary software, SDKs and commercial products and services to create and manage virtual software-defined networks. The company's flagship end-user product ZeroTier One is a client application that enables devices such as PCs, phones, servers and embedded devices to securely connect to peer-to-peer virtual networks.