Running Multiple Requests
Run a folder or workspace in order, and where collection runner features stand
Yaak has no collection runner UI. Running a folder or workspace in order is possible today from the CLI, and the app can fire a folder off all at once. Data-driven runs over a CSV are not built yet.
Running a folder in order
The CLI sends a folder or an entire workspace, one request after another, in sidebar order:
yaak send fl_abc123
It accepts a request, folder, or workspace ID, and works against the same local database as the app, so anything visible in the sidebar can be sent. It prints a summary when it finishes:
Send summary: 12 succeeded, 1 failed
Two flags change how a folder runs:
--fail-faststops at the first failing request instead of continuing--parallelsends everything at once rather than in order
Pair it with --environment to pick the environment, and --verbose to print each response body.
Sending a folder from the app
Right-click a folder and choose Send All. This sends every request in the folder at once, not in order, so it suits a batch of independent requests rather than a flow where one request depends on the one before it. Running in order from the app is requested on the feedback board: Send All Requests Sequentially.
Passing data between requests
A runner is often a way to chain requests: log in, capture a token, use it in the next request. Yaak does that with templating rather than a runner, and it works whether requests are sent by hand, from the CLI, or with Send All.
The response template functions read from a previous request’s last response, so a later
request can reference an earlier one directly:
${[ response.body.path(request='rq_login', path='$.token') ]}
See Request Chaining for the full pattern, and Template Functions for what else is available at send time.
Running the same request over a CSV
Not supported. Iterating a request over rows of a CSV or JSON file is tracked on the feedback board as Data Runner, where the shape of a plugin-based version is being worked out.
Until then, the CLI is the practical route: it reads the same database as the app, so a shell
loop can drive yaak send with an environment per iteration.
Building it as a plugin
Plugins can add folder and request actions, so a custom runner can live in the app’s menus without waiting for a built-in one. Plugins cannot render their own UI panels yet, which is the main constraint on how far this goes today.
Start with Plugins Quick Start. Yaak’s own Send All is a plugin, so its source is a working example of iterating a folder’s requests.
Related
- CLI Usage — installing the CLI and what else it does
- Request Chaining — passing values between requests
- Template Function Reference — every built-in function
- Feedback board — vote on the posts above or add a case they miss
Was this helpful?