Skip to content

Add data-driven collection runs and deterministic request chaining #2

Description

@900Labs

Problem

The desktop and CLI runners can execute saved collections, but they cannot iterate over CSV or JSON datasets or pass controlled values from one response into later requests. This limits practical regression and CI workflows.

Scope

  • Accept local CSV and JSON iteration data in the desktop runner and CLI.
  • Preview and validate dataset columns before a desktop run.
  • Expose the current row as run-scoped iteration variables.
  • Add a bounded script API for writing run-scoped variables from a completed response.
  • Resolve those variables in later requests without changing saved environments unless the user explicitly saves them.
  • Add deterministic request order, iteration count, delay, and bail-on-failure options.

Acceptance criteria

  • Desktop and CLI use the same core parsing, variable precedence, chaining, and failure behavior.
  • JSON arrays and CSV files with quoted values, empty values, Unicode, and malformed rows are covered by tests.
  • Each result identifies its iteration and request, including in JSON and JUnit reports.
  • Run-scoped values are cleared after the run and are not written to collection exports, environments, logs, or Git Sync files by default.
  • Scripts retain the existing filesystem, network, DOM, process, module, loop, recursion, and stack restrictions.
  • Chaining failures name the missing or invalid variable and the request that consumed it.
  • CLI help, README examples, API documentation, and quality-gate documentation are updated.

Constraints

Do not add arbitrary request jumps, hosted scheduling, cloud datasets, or a second script engine.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions