Credentials & Multi-Account Testing
Gherkio separates credential configurations from test scripts, enabling multi-role validation across local, staging, and production environments.
🔑 Directory & File Conventions
Credential maps live under .gherkio/credentials/<env>.yaml and match corresponding environments in .gherkio/environments/<env>.yaml.
Example: .gherkio/credentials/staging.yaml
accounts:
admin:
username: admin@host.com
password: admin-secret-key
role: super-admin
viewer:
username: viewer@host.com
password: viewer-secret-key
role: reader
⚡ Direct Cross-Account References
You can reference specific account credentials directly inside your YAML request body or headers using the $accounts.<name>.<field> notation. This allows cross-account testing without specifying an active user at the command line.
steps:
- request:
method: POST
url: /auth/login
body:
username: $accounts.admin.username
password: $accounts.admin.password
expect:
status: 200
🏃 Role-Based Command Execution
If you specify an active account flag via the CLI, Gherkio automatically injects all keys for that specific account into the root scope of the test scenario:
# Injects $username and $password automatically from the 'admin' map
gherkio run tests/my-test.yaml --env staging --account admin
You can also run a test suite against all configured accounts sequentially using --all-accounts:
gherkio run tests/my-test.yaml --env staging --all-accounts
Gherkio executes the scenario once for every account defined in the credentials file, ensuring consistent role boundaries.