Skip to content

authorjapps/zerocode

Zerocode Zerocode

A no-code automated testing framework for Data streams(Kafka), microservices APIs, and databases using JSON.

Next, install the Steply CLI to run tests in language-independent mode.

API Performance Testing Kafka Testing


Latest release:🏹 Maven
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

Jetbrains IDE

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. Use it to:

  • Validate scenarios from the CLI, e.g. with ajv-cli:

    # Note: This is optional step, only do this if you have npx and ajv-cli already installed
    # npx: Runs npm package without global install
    npx ajv-cli validate -s schema/zerocode-scenario-schema.json -d core/src/test/resources/templates/example_scenario_1.json

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

Write a Zerocode scenario that conforms to schema/zerocode-scenario-schema.json for <your API or Kafka or Database test idea>. Use the assertions block (not verify) and include retry of 3 attempts with 500ms delay.

Two starter templates live under core/src/test/resources/templates/: example_scenario_1.json (typical REST flow with two steps), and example_scenario_2.json (parameterized scenario with both valueSource and csvSource).

Happy Testing! 🐼

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

About

zerocode-tdd is a community-developed, free, open-source, outcome-driven automated testing for microservices APIs, Kafka(Data Streams), Databases and Load scenarios. all defined in simple JSON or YAML — with zero coding.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors

Languages