Reference
Command-line
interface
Exit codes
| Code |
Meaning |
| 0 |
Test completed normally (including time limit) |
| 1 |
Other error |
| 2 |
Property violation(s) detected |
bombadil test
bombadil test [OPTIONS]
<ORIGIN>
[SPECIFICATION_FILE]
| Argument |
Description |
<ORIGIN> |
Starting URL of the test (also used as a boundary so that
Bombadil doesn’t navigate to other websites) |
[SPECIFICATION_FILE] |
A custom specification in TypeScript or JavaScript, using
the @antithesishq/bombadil package on NPM |
| Option |
Description |
Default |
--output-path <OUTPUT_PATH> |
Where to store output data (trace, screenshots, etc.) |
|
--exit-on-violation |
Whether to exit the test when first failing property is
found (useful in development and CI) |
|
--time-limit <DURATION> |
Maximum time to run the test; reaching the limit is treated
as normal completion. Accepts a number with a unit suffix: s
(seconds), m (minutes), h (hours), or d (days). Examples: 30s,
5m, 2h, 1d |
|
--width <WIDTH> |
Browser viewport width in pixels |
1024 |
--height <HEIGHT> |
Browser viewport height in pixels |
768 |
--device-scale-factor <DEVICE_SCALE_FACTOR> |
Scaling factor of the browser viewport, mostly useful on
high-DPI monitors when in headed mode |
2 |
--instrument-javascript <INSTRUMENT_JAVASCRIPT> |
What types of JavaScript to instrument for coverage
tracking. Comma-separated list of: “files”, “inline” |
files,inline |
--chrome-grant-permissions <CHROME_GRANT_PERMISSIONS> |
Comma-separated list of Chrome permissions to grant.
Examples: local-network-access, geolocation, notifications. |
local-network-access,local-network,loopback-network |
--header <KEY=VALUE> |
Extra HTTP header to send with all browser requests, in
KEY=VALUE format. Can be specified multiple
times. |
|
--reproduce <TRACE_FILE> |
Reproduce a previous test run from a trace file, instead of
random exploration. Mutually exclusive with
--time-limit and
--exit-on-violation. |
|
--headless |
Whether the browser should run in a visible window or
not |
|
--no-sandbox |
Disable Chromium sandboxing |
|
-h, --help |
Print help |
|
bombadil
test-external
bombadil test-external [OPTIONS]
<ORIGIN>
[SPECIFICATION_FILE]
| Argument |
Description |
<ORIGIN> |
Starting URL of the test (also used as a boundary so that
Bombadil doesn’t navigate to other websites) |
[SPECIFICATION_FILE] |
A custom specification in TypeScript or JavaScript, using
the @antithesishq/bombadil package on NPM |
| Option |
Description |
Default |
--output-path <OUTPUT_PATH> |
Where to store output data (trace, screenshots, etc.) |
|
--exit-on-violation |
Whether to exit the test when first failing property is
found (useful in development and CI) |
|
--time-limit <DURATION> |
Maximum time to run the test; reaching the limit is treated
as normal completion. Accepts a number with a unit suffix: s
(seconds), m (minutes), h (hours), or d (days). Examples: 30s,
5m, 2h, 1d |
|
--width <WIDTH> |
Browser viewport width in pixels |
1024 |
--height <HEIGHT> |
Browser viewport height in pixels |
768 |
--device-scale-factor <DEVICE_SCALE_FACTOR> |
Scaling factor of the browser viewport, mostly useful on
high-DPI monitors when in headed mode |
2 |
--instrument-javascript <INSTRUMENT_JAVASCRIPT> |
What types of JavaScript to instrument for coverage
tracking. Comma-separated list of: “files”, “inline” |
files,inline |
--chrome-grant-permissions <CHROME_GRANT_PERMISSIONS> |
Comma-separated list of Chrome permissions to grant.
Examples: local-network-access, geolocation, notifications. |
local-network-access,local-network,loopback-network |
--header <KEY=VALUE> |
Extra HTTP header to send with all browser requests, in
KEY=VALUE format. Can be specified multiple
times. |
|
--reproduce <TRACE_FILE> |
Reproduce a previous test run from a trace file, instead of
random exploration. Mutually exclusive with
--time-limit and
--exit-on-violation. |
|
--remote-debugger <REMOTE_DEBUGGER> |
Address to the remote debugger’s server,
e.g. http://localhost:9222 |
|
--create-target |
Whether Bombadil should create a new tab and navigate to the
origin URL in it, as part of starting the test (this should
probably be false if you test an Electron app) |
|
-h, --help |
Print help |
|
bombadil
inspect
bombadil inspect [OPTIONS]
<TRACE_PATH>
| Argument |
Description |
<TRACE_PATH> |
Path to trace.jsonl file or directory containing it |
| Option |
Description |
Default |
--port <PORT> |
Port to bind the inspect server to |
1073 |
--no-open |
Skip auto-opening browser |
|
-h, --help |
Print help |
|
bombadil terminal test
(EXPERIMENTAL!)
bombadil terminal test
[OPTIONS]
[COMMAND]*
| Argument |
Description |
[COMMAND]* |
The command to run for each test case (i.e. program name and
arguments, space-separated) |
| Option |
Description |
Default |
--test-count <TEST_COUNT> |
How many test cases to run (invocations of command) |
1 |
--seed <SEED> |
Random generator seed |
|
--render-append |
Whether to append render output (otherwise clear screen
before every render) |
|
-h, --help |
Print help |
|