Skip to content

Robot Framework modules

Both Robot Framework modules accept an ordered arguments list and an optional cwd.

Module Purpose
robotframework.test Run python -m robot
robotframework.rebot Run python -m robot.rebot to post-process results

Argument format

Each string in the arguments list is emitted as a standalone command-line argument. Each single-entry object is emitted as a key followed by its value; list values emit the key followed by multiple values, and boolean true emits only the key. This keeps positional arguments explicit and avoids using null as a sentinel.

Argument Required Description
arguments yes Ordered Robot Framework command-line arguments
cwd no Working directory for the command

Exit codes

robot and rebot use the same return codes. Builddrone treats test-result codes differently from tool errors:

Exit code Meaning Stage behavior
0 All tests passed Continue
1-249 That many tests failed Log the failure, continue later steps, fail the stage at the end
250 250 or more tests failed Log the failure, continue later steps, fail the stage at the end
251 Help or version printed Stop immediately
252 Invalid data or command line options, including a missing file Stop immediately
253 Execution stopped by the user Stop immediately
255 Unexpected internal error Stop immediately

That lets a test stage keep going after failed tests so later steps such as robotframework.rebot can still generate combined reports. The stage still fails after all steps complete.

robotframework.test

Example

{
  "module": "robotframework.test",
  "args": {
    "arguments": [
      {"--outputdir": "results"},
      "tests"
    ]
  }
}

robotframework.rebot

Example

{
  "module": "robotframework.rebot",
  "args": {
    "arguments": [
      {"--outputdir": "results/rebot"},
      {"--name": "Builddrone Robot Example"},
      "results/output.xml"
    ]
  }
}

See the Robot Framework example for a full test and rebot pipeline.