zerocode is a free, open source data engineering & integration project written in Java and released under Apache-2.0. It has 1,014 GitHub stars, 453 forks and 128 open issues, and was last pushed 5 days ago. On this registry it ranks #35 of 39 tracked projects in Data Engineering & Integration, with 5 head-to-head comparisons available.

What is zerocode?

Zerocode (zerocode-tdd) is a community-developed, free and open-source, outcome-driven automated testing framework for data pipelines, ETL, REST and SOAP APIs, Kafka data streams, databases and load scenarios, in which every test is defined in simple JSON or YAML with zero coding, and it is aimed at developers, testers and data engineers who need executable automated tests without writing test code.

What it is

Zerocode is a Java framework, licensed under Apache-2.0, published to Maven Central as org.jsmart/zerocode-tdd with an older release line named zerocode-rest-bdd. It lets a team write executable test scenarios in JSON or YAML, combining declarative configuration with automation. The framework handles response validations, target API invocation, load and stress testing, and security testing through YAML, JSON or fluent steps. It supports REST calls, SOAP method invocation with XML input, Kafka real-time data streams, and databases. It sits in the Data & Analytics / Data Engineering & Integration category, is tagged for API, assertions, data-pipeline, ETL testing, Kafka and DSL use, and offers IDE support for IntelliJ IDEA. A separate CLI-only tool from the same project family, Steply, runs scenarios directly from the terminal.

The problem it solves is test code. Instead of writing and maintaining Java for each REST endpoint, Kafka topic or database check, a user declares the scenario. If a REST API such as https://localhost:8080/api/v1/customers/123 answers a GET with "Content-Type": "application/json", a 200(OK) status and a payload containing "id": 123 and a "type": "Premium High Value" field, the expected response is expressed as JSON rather than as assertion plumbing. That same declaration model extends to data pipelines, ETL jobs, real-time Kafka streams and load scenarios, so outcome checks stay readable and version-controlled next to the code they exercise.

Key capabilities

  • Scenario definition in JSON or YAML, described as writing executable tests with zero coding.
  • REST and SOAP invocation, including a SOAP method invocation example with XML input.
  • Kafka real-time data stream testing, documented under Kafka Testing Introduction.
  • Database testing alongside API tests within the same framework.
  • Load, stress and performance testing, covered by the IDE-based load testing documentation.
  • Response validations and assertions driven by declared expected payloads and HTTP status codes.
  • Steply CLI runner for terminal execution: steply --scenario tests/validate_github_user.json --target-env env/sit.properties.

Who uses it and how

  • Java developers and testers working in IntelliJ IDEA, where the framework provides IDE support and tests can be written and run inside the editor.
  • API teams authoring scenario files in JSON or YAML to validate REST and SOAP endpoints, including status code and response payload checks.
  • Data engineering and integration teams validating Kafka data streams, data pipelines and ETL behaviour using the same scenario format.
  • Command-line users running Steply against a named target environment properties file such as env/sit.properties, which suits scripted or per-environment execution.
  • Performance-focused users exercising load scenarios through the IDE-based load testing path.

Getting started

Add the Maven dependency org.jsmart/zerocode-tdd (older releases were published as zerocode-rest-bdd), or install the Steply CLI and run a scenario with steply --scenario tests/validate_github_user.json --target-env env/sit.properties. Indexed documentation is hosted at zerocode-tdd.tddfy.com.

How it compares

The provided facts do not list any paid products that Zerocode replaces, so no licence, hosting or cost comparison can be drawn. The only related tool named is Steply, a companion CLI-only runner from the same project family that executes tests from the terminal rather than replacing Zerocode. On the evidence given, Zerocode stands alone in this registry.

When to use it — and when not to

A self-hoster runs a JVM and Maven build, supplies the target environments under test, and maintains per-environment property files such as env/sit.properties, plus any Kafka brokers or databases the scenarios touch. Teams that want a hosted, no-operations service should look elsewhere, since the provided facts describe no hosted option, no Docker image and no compose file. Known friction: the repository carries 128 open issues, the README excerpt cuts off in the middle of its worked JSON example, and the primary release artifact is a Maven dependency, so first-time users depend on the external documentation site to get to a first passing scenario.

project readme (upstream, from github) — read inline

Zerocode Zerocode

ZerocodeTDD is a no-code low-code automated testing tool for Data streams(Kafka), microservices APIs, and databases using JSON.

See also, CLI only tool Steply to run tests directly from the terminal.

API Performance Testing Kafka Testing


Latest release: Maven Central [ All releases 🏹 ]
CI Testing: example workflow
Issue Discussions: Slack
Mailing List: Mailing List
License: Apache 2.0

Zerocode makes it easy to create and maintain automated tests with absolute minimum overhead for REST,SOAP, Kafka Real Time Data Streams and much more. It has the best of best ideas and practices from the community to keep it super simple, and the adoption is rapidly growing among the developers & testers community.

Quick Start

Install Steply CLI from here and run an automated validation test:

steply --scenario tests/validate_github_user.json --target-env env/sit.properties

Documentation

Visit here :

  • Documentation - Indexed & instantly finds you the results
  • Want to amend or improve any documentation? Steps and guidelines are here

IDE Support By

Maven Dependency

Introduction

Zerocode is a modern, lightweight, and extensible open-source framework designed for writing executable test scenarios using simple JSON or YAML formats. It supports both declarative configuration and automation, making it user-friendly and efficient.

In essence, Zerocode simplifies the complexities of modern API and data-streaming automation, including Kafka. The framework seamlessly handles response validations, target API invocations, load/stress testing, and security testing, all through straightforward YAML/JSON/Fluent steps.

For example, if your REST API URL https://localhost:8080/api/v1/customers/123 with GET method and "Content-Type": "application/json" returns the following payload and a http status code 200(OK) ,

Response:
{
    "id": 123,
    "type": "Premium High Value",
    "addresses": [
        {
            "type":"home",
            "line1":"10 Random St"
        }
    ]
}

then, we can easily validate the above API using Zerocode like below.

  • Using JSON
{
  "url": "api/v1/customers/123",
  "method": "GET",
  "request": {
    "headers": {
      "Content-Type": "application/json"
    }
  },
  "retry": {
    "max": 3,
    "delay": 1000
  },
  "verify": {
    "status": 200,
    "headers": {
      "Content-Type" : [ "application/json; charset=utf-8" ]
    },
    "body": {
      "id": 123,
      "type": "Premium Visa",
      "addresses": [
        {
          "type": "Billing",
          "line1": "10 Random St"
        }
      ]
    }    
  },
  "verifyMode": "LENIENT"
}
  • or Using YAML

---
url: api/v1/customers/123
method: GET
request:
  headers:
    Content-Type: application/json
retry:
  max: 3
  delay: 1000
verify:
  status: 200
  headers:
    Content-Type:
    - application/json; charset=utf-8
  body:
    id: 123
    type: Premium Visa
    addresses:
    - type: Billing
      line1: 10 Random St
verifyMode: LENIENT

The beauty here is, we can use the payload/headers structure for validation as it is without any manipulation or use a flat JSON path to skip the hassles of the entire object hierarchies.

Looks simple & easy? Why not give it a try? Visit the quick-start guide or user's guide to check out more scenarios.

Zerocode-TDD is used by many companies such as Vocalink, HSBC, HomeOffice(Gov) and many others to achieve accurate production drop of their micro-services, data-pipelines etc.

Also, learn more about Validators Vs Matchers here.

JSON Schema for Test Scenario

A JSON Schema (Draft-07) for scenario files is published at schema/zerocode-scenario-schema.json and pointed to from robots.txt at the project root. See here how to validate if you're developing custom tools.

AI Prompt | Generate a Test Scenarios using Claude Code | CoPilot | Codex or others:

Write a Zerocode scenario that conforms to schema/zerocode-scenario-schema.json for ``. Use the assertions block (not verify) and include retry of 3 attempts with 500ms delay.

Happy Testing! 🐼

🔆 Visit Documentation - Indexed, searchable & instantly finds you the results

Frequently asked questions

Is zerocode free to use?

zerocode is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does zerocode do?

zerocode-tdd is a community-developed, free, open-source, outcome-driven automated testing framework for Data Pipelines, ETL, REST API, Kafka(Data Streams), Dat

What is zerocode written in?

zerocode is primarily written in Java. Its source is publicly available at https://github.com/authorjapps/zerocode, and it has 1,014 GitHub stars.