Type: str | None
Description of the profile.
Type: bool | None
The profile should be detached. Detached means it is not inherited from the main profile.
Type: bool | Condition | None
If enabled the profile is used. You can also use and if condition
to calculate the enabled state.
Examples:
# always disabled
enabled = false# enabled if TEST_VAR is set
enabled = { if = 'environ.get("CI") == "true"' }[profile].hidden
Type: bool | Condition | None
The profile should be hidden. Hidden means it is not shown in the list of available profiles.
Examples:
hidden = truehidden = { if = 'environ.get("CI") == "true"' }Type: str | StringExpression | list[str | StringExpression] | None
Profiles to inherit from.
Examples:
inherits = ["default", "Firefox"]Type: int | None
Precedence of the profile. Lower values are executed first. If not set the order is undefined.
Type: list[str] | None
Arguments to be passed to robot.
Examples:
args = ["-t", "abc"]Type: Literal['verbose', 'dotted', 'skipped', 'quiet', 'none'] | None
How to report execution on the console.
verbose: report every suite and test (default)
dotted: only show . for passed test, s for
skipped tests, and F for failed tests
quiet: no output except for errors and warnings
none: no output whatsoever
Examples:
console = "dotted"corresponds to the --console type option of robot
Type: Literal['auto', 'on', 'ansi', 'off'] | None
Use colors on console output or not.
auto: use colors when output not redirected (default)
on: always use colors
ansi: like on but use ANSI colors also on Windows
off: disable colors altogether
Examples:
console-colors = "on"corresponds to the -C --consolecolors auto|on|ansi|off option of robot
Type: Literal['auto', 'off'] | None
Control making paths to results files hyperlinks.
auto: use links when colors are enabled (default)
off: disable links unconditionally
Examples:
console-links = "off"corresponds to the --consolelinks auto|off option of robot
Type: Literal['auto', 'on', 'off'] | None
Show markers on the console when top level keywords in a test case end. Values have same semantics as with --consolecolors.
Examples:
console-markers = "off"corresponds to the -K --consolemarkers auto|on|off option of robot
Type: int | None
Width of the console output. Default is 78.
Examples:
console-width = 100corresponds to the -W --consolewidth chars option of robot
Type: str | StringExpression | None
Debug file written during execution. Not created unless this option is specified.
Examples:
debug-file = "debug.log"corresponds to the -b --debugfile file option of robot
Type: str | list[str] | None
Selects the Default profile if no profile is given at command line.
Examples:
default-profiles = "default"default-profiles = ["default", "Firefox"]Type: str | StringExpression | None
Set the documentation of the top level suite. Simple formatting is supported (e.g. bold). If the documentation contains spaces, it must be quoted. If the value is path to an existing file, actual documentation is read from that file.
Examples:
doc = "Very *good* example"# read documentation from a file
doc = "doc_from_file.txt"corresponds to the -D --doc documentation option of robot
Type: bool | Flag | None
Shortcut for --console dotted.
Examples:
dotted = truecorresponds to the -. --dotted option of robot
Type: bool | Flag | None
Verifies test data and runs tests so that library keywords are not executed.
Examples:
dry-run = truecorresponds to the --dryrun option of robot
Type: dict[str, str | StringExpression] | None
Define environment variables to be set before running tests.
Examples:
[env]
TEST_VAR = "test"
SECRET = "password"Type: list[str | StringExpression] | None
Select test cases not to run by tag. These tests are not run even if included with --include. Tags are matched using same rules as with --include.
Examples:
excludes = ["smoke", "wip*"]corresponds to the -e --exclude tag * option of robot
Type: bool | Flag | None
Stops test execution if any error occurs when parsing test data, importing libraries, and so on.
Examples:
exit-on-error = truecorresponds to the --exitonerror option of robot
Type: bool | Flag | None
Stops test execution if any test fails.
Examples:
exit-on-failure = truecorresponds to the -X --exitonfailure option of robot
Type: list[str | NamePattern | TagPattern] | None
Matching keywords will be automatically expanded in the log file. Matching against keyword name or tags work using same rules as with --removekeywords.
Examples:
expand-keywords = ["name:BuiltIn.Log", "tag:expand"]corresponds to the --expandkeywords name:<pattern>|tag:<pattern> * option of robot
Type: list[str] | None
Append extra arguments to be passed to robot.
Examples:
extend-args = ["-t", "abc"]Type: dict[str, str | StringExpression] | None
Append extra environment variables to be set before run.
Examples:
[extend-env]
EXTRA_VAR = "value"
Type: list[str | StringExpression] | None
Appends entries to the --exclude option.
Select test cases not to run by tag. These tests are not run even if included with --include. Tags are matched using same rules as with --include.
Examples:
extend-excludes = ["smoke", "wip*"]corresponds to the -e --exclude tag * option of robot
Type: list[str | NamePattern | TagPattern] | None
Appends entries to the --expandkeywords option.
Matching keywords will be automatically expanded in the log file. Matching against keyword name or tags work using same rules as with --removekeywords.
Examples:
extend-expand-keywords = ["name:BuiltIn.Log", "tag:expand"]corresponds to the --expandkeywords name:<pattern>|tag:<pattern> * option of robot
Type: list[str | Literal['for', 'while', 'iteration'] | NamePattern | TagPattern] | None
Appends entries to the --flattenkeywords option.
Flattens matching keywords in the generated log file. Matching keywords get all log messages from their child keywords and children are discarded otherwise.
for: flatten FOR loops fully
while: flatten WHILE loops fully
iteration: flatten FOR/WHILE loop iterations
foritem: deprecated alias for iteration
name:<pattern>: flatten matched keywords using same
matching rules as with
--removekeywords name:<pattern>
tag:<pattern>: flatten matched keywords using same
matching rules as with
--removekeywords tag:<pattern>
Examples:
extend-flatten-keywords = ["for", "name:Lib.HugeKw", "tag:flatten"]corresponds to the --flattenkeywords for|while|iteration|name:<pattern>|tag:<pattern> * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --include option.
Select tests by tag. Similarly as name with --test,
tag is case and space insensitive and it is possible
to use patterns with *, ? and [] as wildcards.
Tags and patterns can also be combined together with
AND, OR, and NOT operators.
Examples:
# match tests tagged "foo" or "bar*"
extend-includes = ["foo", "bar*"]# tests with both "foo" and "bar*" tags
extend-includes = ["fooANDbar*"]corresponds to the -i --include tag * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --language option.
Activate localization. lang can be a name or a code
of a built-in language, or a path or a module name of
a custom language file.
Examples:
extend-languages = ["German", "Finnish"]corresponds to the --language lang * option of rebot
Type: dict[str, list[str | StringExpression]] | None
Appends entries to the --listener option.
Class or module for monitoring test execution. Gets notifications e.g. when tests start and end. Arguments to the listener class can be given after the name using a colon or a semicolon as a separator.
Examples:
[extend-listeners]
MyListener = []
"path/to/Listener.py" = ["arg1", "arg2"]corresponds to the --listener listener * option of rebot
Type: dict[str, str | StringExpression] | None
Appends entries to the --metadata option.
Set metadata of the top level suite. Value can contain formatting and be read from a file similarly as --doc. Example: --metadata Version:1.2
Examples:
[extend-metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"corresponds to the -M --metadata name:value * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --parseinclude option.
Parse only files matching pattern. It can be:
- a file name or pattern like
example.robotor*.robotto parse all files matching that name, - a file path like
path/to/example.robot, or - a directory path like
path/to/exampleto parse all files in that directory, recursively.
Examples:
extend-parse-include = ["*.robot", "tests/**/*.robot"]corresponds to the -I --parseinclude pattern * option of robot
Type: dict[str, list[str | StringExpression]] | None
Appends entries to the --parser option.
Custom parser class or module. Parser classes accept arguments the same way as with --listener.
Examples:
[extend-parsers]
MyParser = []
"path/to/MyParser.py" = ["arg1", "arg2"]corresponds to the --parser parser * option of rebot
Type: str | list[str] | None
Append extra entries to the paths argument.
Examples:
extend-paths = ["tests"]Type: dict[str, list[str | StringExpression]] | None
Appends entries to the --prerebotmodifier option.
Class to programmatically modify the result model before creating reports and logs. Accepts arguments the same way as with --listener.
Examples:
[extend-pre-rebot-modifiers]
"path/to/Modifier.py" = ["arg1"]corresponds to the --prerebotmodifier modifier * option of robot
Type: dict[str, list[str | StringExpression]] | None
Appends entries to the --prerunmodifier option.
Class to programmatically modify the suite structure before execution. Accepts arguments the same way as with --listener.
Examples:
[extend-pre-run-modifiers]
MyModifier = []
"path/to/Modifier.py" = ["arg1"]corresponds to the --prerunmodifier modifier * option of rebot
Type: dict[str, RobotProfile] | None
Extra execution profiles.
Type: list[str | StringExpression] | None
Appends entries to the --pythonpath option.
Additional locations (directories, ZIPs) where to
search libraries and other extensions when they are
imported. Multiple paths can be given by separating
them with a colon (:) or by using this option
several times. Given path can also be a glob pattern
matching multiple paths.
Examples:
extend-python-path = ["libs/", "/opt/libs", "libraries.zip"]corresponds to the -P --pythonpath path * option of robot
Type: list[str | Literal['all', 'passed', 'for', 'wuks'] | NamePattern | TagPattern] | None
Appends entries to the --removekeywords option.
Remove keyword data from the generated log file.
Keywords containing warnings are not removed except
in the all mode.
all: remove data from all keywords
passed: remove data only from keywords in passed test cases and suites
for: remove passed iterations from FOR loops
while: remove passed iterations from WHILE loops
wuks: remove all but the last failing keyword
inside BuiltIn.Wait Until Keyword Succeeds
name:<pattern>: remove data from keywords that match
the given pattern. The pattern is matched
against the full name of the keyword (e.g.
'MyLib.Keyword', 'resource.Second Keyword'),
is case, space, and underscore insensitive,
and may contain *, ? and [] wildcards.
tag:<pattern>: remove data from keywords that match
the given pattern. Tags are case and space
insensitive and patterns can contain *,
? and [] wildcards. Tags and patterns
can also be combined together with AND,
OR, and NOT operators.
Examples:
# match by keyword name
extend-remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]# match by tag pattern (same rules as --include)
extend-remove-keywords = ["foo", "fooANDbar*"]corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --settag option.
Sets given tag(s) to all executed tests.
Examples:
extend-set-tag = ["my-suite-tag", "ci"]corresponds to the -G --settag tag * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --skip option.
Tests having given tag will be skipped. Tag can be a pattern.
Examples:
extend-skip = ["bug-*", "wip"]corresponds to the --skip tag * option of rebot
Type: list[str | StringExpression] | None
Appends entries to the --skiponfailure option.
Tests having given tag will be skipped if they fail. Tag can be a pattern
Examples:
extend-skip-on-failure = ["unstable"]corresponds to the --skiponfailure tag * option of rebot
Type: list[str | StringExpression] | None
Appends entries to the --suite option.
Select suites by name. When this option is used with
--test, --include or --exclude, only tests in
matching suites and also matching other filtering
criteria are selected. Name can be a simple pattern
similarly as with --test and it can contain parent
name separated with a dot. For example, -s X.Y
selects suite Y only if its parent is X.
Examples:
# match a suite by name or by parent.child path
extend-suites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of robot
Type: dict[str, str | StringExpression] | None
Appends entries to the --tagdoc option.
Add documentation to tags matching the given
pattern. Documentation is shown in Test Details and
also as a tooltip in Statistics by Tag. Pattern can
use *, ? and [] as wildcards like --test.
Examples:
[extend-tag-doc]
mytag = "Example"
"owner-*" = "Original author"corresponds to the --tagdoc pattern:doc * option of robot
Type: list[str | dict[str, str]] | None
Appends entries to the --tagstatcombine option.
Create combined statistics based on tags.
These statistics are added into Statistics by Tag.
If the optional name is not given, name of the
combined tag is got from the specified tags. Tags are
matched using the same rules as with --include.
Examples:
extend-tag-stat-combine = ["requirement-*", { "tag1ANDtag2" = "My_name" }]corresponds to the --tagstatcombine tags:name * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --tagstatexclude option.
Exclude matching tags from Statistics by Tag.
This option can be used with --tagstatinclude
similarly as --exclude is used with --include.
Examples:
extend-tag-stat-exclude = ["bug-*"]corresponds to the --tagstatexclude tag * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --tagstatinclude option.
Include only matching tags in Statistics by Tag
in log and report. By default all tags are shown.
Given tag can be a pattern like with --include.
Examples:
extend-tag-stat-include = ["owner-*", "feature-*"]corresponds to the --tagstatinclude tag * option of robot
Type: dict[str, str | StringExpression] | None
Appends entries to the --tagstatlink option.
Add external links into Statistics by Tag. Pattern can use *, ? and [] as wildcards
like --test. Characters matching to * and ?
wildcards can be used in link and title with syntax
%N, where N is index of the match (starting from 1).
Examples:
[extend-tag-stat-link]
mytag = "http://my.domain:Title"
"bug-*" = "http://url/id=%1:Issue Tracker"corresponds to the --tagstatlink pattern:link:title * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --task option.
Alias to --test. Especially applicable with --rpa.
Examples:
extend-tasks = ["My Task", "Smoke*"]corresponds to the --task name * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --test option.
Select tests by name or by long name containing also
parent suite name like Parent.Test. Name is case
and space insensitive and it can also be a simple
pattern where * matches anything, ? matches any
single character, and [chars] matches one character
in brackets.
Examples:
extend-tests = ["My Test", "Smoke*"]corresponds to the -t --test name * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --variablefile option.
Python or YAML file file to read variables from. Possible arguments to the variable file can be given after the path using colon or semicolon as separator.
Examples:
extend-variable-files = ["path/vars.yaml", "environment.py:testing"]corresponds to the -V --variablefile path * option of rebot
Type: dict[str, str | StringExpression] | None
Appends entries to the --variable option.
Set variables in the test data. Only scalar
variables with string value are supported and name is
given without ${}. See --variablefile for a more
powerful variable setting mechanism.
Examples:
# sets ${name} to "Robot"
[extend-variables]
name = "Robot"corresponds to the -v --variable name:value * option of rebot
Type: str | StringExpression | None
Parse only files with this extension when executing a directory. Has no effect when running individual files or when using resource files. If more than one extension is needed, separate them with a colon.
Only *.robot files are parsed by default.
Examples:
extensions = "txt"# parse multiple extensions (separator: colon)
extensions = "robot:txt"corresponds to the -F --extension value option of robot
Type: list[str | Literal['for', 'while', 'iteration'] | NamePattern | TagPattern] | None
Flattens matching keywords in the generated log file. Matching keywords get all log messages from their child keywords and children are discarded otherwise.
for: flatten FOR loops fully
while: flatten WHILE loops fully
iteration: flatten FOR/WHILE loop iterations
foritem: deprecated alias for iteration
name:<pattern>: flatten matched keywords using same
matching rules as with
--removekeywords name:<pattern>
tag:<pattern>: flatten matched keywords using same
matching rules as with
--removekeywords tag:<pattern>
Examples:
flatten-keywords = ["for", "name:Lib.HugeKw", "tag:flatten"]corresponds to the --flattenkeywords for|while|iteration|name:<pattern>|tag:<pattern> * option of robot
Type: list[str | StringExpression] | None
Select tests by tag. Similarly as name with --test,
tag is case and space insensitive and it is possible
to use patterns with *, ? and [] as wildcards.
Tags and patterns can also be combined together with
AND, OR, and NOT operators.
Examples:
# match tests tagged "foo" or "bar*"
includes = ["foo", "bar*"]# tests with both "foo" and "bar*" tags
includes = ["fooANDbar*"]corresponds to the -i --include tag * option of robot
Type: list[str | StringExpression] | None
Activate localization. lang can be a name or a code
of a built-in language, or a path or a module name of
a custom language file.
Examples:
languages = ["German", "Finnish"]corresponds to the --language lang * option of robot
Type: bool | Flag | None
Create XML output file in format compatible with Robot Framework 6.x and earlier.
Examples:
legacy-output = truecorresponds to the --legacyoutput option of robot
Type: LibDocProfile | None
Options to be passed to libdoc.
Type: Literal['ROBOT', 'HTML', 'TEXT', 'REST'] | None
Specifies the source documentation format. Possible values are Robot Framework's documentation format, HTML, plain text, and reStructuredText. The default value can be specified in library source code and the initial default value is ROBOT.
Examples:
doc-format = "REST"corresponds to the -F --docformat ROBOT|HTML|TEXT|REST option of libdoc
Type: list[str | StringExpression] | None
Appends entries to the --pythonpath option.
Additional locations where to search for libraries and resources.
Examples:
extend-python-path = ["libs/", "/opt/libs", "libraries.zip"]corresponds to the -P --pythonpath path * option of libdoc
Type: Literal['HTML', 'XML', 'JSON', 'LIBSPEC'] | None
Specifies whether to generate an HTML output for humans or a machine readable spec file in XML or JSON format. The LIBSPEC format means XML spec with documentations converted to HTML. The default format is got from the output file extension.
Examples:
format = "HTML"corresponds to the -f --format HTML|XML|JSON|LIBSPEC option of libdoc
Type: str | StringExpression | None
Sets the name of the documented library or resource.
Examples:
name = "My Project"corresponds to the -n --name name option of libdoc
Type: list[str | StringExpression] | None
Additional locations where to search for libraries and resources.
Examples:
python-path = ["libs/", "/opt/libs", "libraries.zip"]corresponds to the -P --pythonpath path * option of libdoc
Type: bool | Flag | None
Do not print the path of the generated output file to the console.
Examples:
quiet = truecorresponds to the --quiet option of libdoc
Type: Literal['RAW', 'HTML'] | None
Specifies the documentation format used with XML and JSON spec files. RAW means preserving the original documentation format and HTML means converting documentation to HTML. The default is RAW with XML spec files and HTML with JSON specs and when using the special LIBSPEC format.
Examples:
spec-doc-format = "HTML"corresponds to the -s --specdocformat RAW|HTML option of libdoc
Type: Literal['DARK', 'LIGHT', 'NONE'] | None
Use dark or light HTML theme. If this option is not used, or the value is NONE, the theme is selected based on the browser color scheme. New in RF 6.0.
Examples:
theme = "DARK"corresponds to the --theme DARK|LIGHT|NONE option of libdoc
Type: dict[str, list[str | StringExpression]] | None
Class or module for monitoring test execution. Gets notifications e.g. when tests start and end. Arguments to the listener class can be given after the name using a colon or a semicolon as a separator.
Examples:
[listeners]
MyListener = []
"path/to/Listener.py" = ["arg1", "arg2"]corresponds to the --listener listener * option of robot
Type: str | StringExpression | None
HTML log file. Can be disabled by giving a special
value NONE. Default: log.html
Examples:
log = "mylog.html"# disable log file generation
log = "NONE"corresponds to the -l --log file option of robot
Type: str | StringExpression | None
Threshold level for logging. Available levels: TRACE,
DEBUG, INFO (default), WARN, NONE (no logging). Use
syntax LOGLEVEL:DEFAULT to define the default
visible log level in log files.
Examples:
log-level = "DEBUG"# explicit visible level (default: INFO)
log-level = "DEBUG:INFO"corresponds to the -L --loglevel level option of robot
Type: str | StringExpression | None
Title for the generated log file. The default title
is <SuiteName> Log.
Examples:
log-title = "My Project Log"corresponds to the --logtitle title option of robot
Type: int | None
Maximum number of characters to show in log when variables are assigned. Zero or negative values can be used to avoid showing assigned values at all. Default is 200.
Examples:
max-assign-length = 200corresponds to the --maxassignlength characters option of robot
Type: int | None
Maximum number of error message lines to show in
report when tests fail. Default is 40, minimum is 10
and NONE can be used to show the full message.
Examples:
max-error-lines = 40corresponds to the --maxerrorlines lines option of robot
Type: dict[str, str | StringExpression] | None
Set metadata of the top level suite. Value can contain formatting and be read from a file similarly as --doc. Example: --metadata Version:1.2
Examples:
[metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"corresponds to the -M --metadata name:value * option of robot
Type: str | StringExpression | None
Set the name of the top level suite. By default the name is created based on the executed file or directory.
Examples:
name = "My Project"corresponds to the -N --name name option of robot
Type: bool | Flag | None
Sets the return code to zero regardless of failures in test cases. Error codes are returned normally.
Examples:
# always exit 0 regardless of failed tests
no-status-rc = truecorresponds to the --nostatusrc option of robot
Type: str | StringExpression | None
XML output file. Given path, similarly as paths given
to --log, --report, --xunit, and --debugfile, is
relative to --outputdir unless given as an absolute
path. Other output files are created based on XML
output files after the test execution and XML outputs
can also be further processed with Rebot tool. Can be
disabled by giving a special value NONE.
Default: output.xml
Examples:
output = "output.xml"corresponds to the -o --output file option of robot
Type: str | StringExpression | None
Where to create output files. The default is the directory where tests are run from and the given path is considered relative to that unless it is absolute.
Examples:
output-dir = "results"corresponds to the -d --outputdir dir option of robot
Type: list[str | StringExpression] | None
Parse only files matching pattern. It can be:
- a file name or pattern like
example.robotor*.robotto parse all files matching that name, - a file path like
path/to/example.robot, or - a directory path like
path/to/exampleto parse all files in that directory, recursively.
Examples:
parse-include = ["*.robot", "tests/**/*.robot"]corresponds to the -I --parseinclude pattern * option of robot
Type: dict[str, list[str | StringExpression]] | None
Custom parser class or module. Parser classes accept arguments the same way as with --listener.
Examples:
[parsers]
MyParser = []
"path/to/MyParser.py" = ["arg1", "arg2"]corresponds to the --parser parser * option of robot
Type: str | list[str] | None
Specifies the paths where robot/robotcode should discover tests. If no paths are given at the command line this value is used.
Examples:
paths = ["tests"]Corresponds to the paths argument of robot.
Type: dict[str, list[str | StringExpression]] | None
Class to programmatically modify the result model before creating reports and logs. Accepts arguments the same way as with --listener.
Examples:
[pre-rebot-modifiers]
"path/to/Modifier.py" = ["arg1"]corresponds to the --prerebotmodifier modifier * option of robot
Type: dict[str, list[str | StringExpression]] | None
Class to programmatically modify the suite structure before execution. Accepts arguments the same way as with --listener.
Examples:
[pre-run-modifiers]
MyModifier = []
"path/to/Modifier.py" = ["arg1"]corresponds to the --prerunmodifier modifier * option of robot
Type: dict[str, RobotProfile] | None
Execution profiles.
Type: list[str | StringExpression] | None
Additional locations (directories, ZIPs) where to
search libraries and other extensions when they are
imported. Multiple paths can be given by separating
them with a colon (:) or by using this option
several times. Given path can also be a glob pattern
matching multiple paths.
Examples:
python-path = ["libs/", "/opt/libs", "libraries.zip"]corresponds to the -P --pythonpath path * option of robot
Type: bool | Flag | None
Shortcut for --console quiet.
Examples:
quiet = truecorresponds to the --quiet option of robot
Type: str | Literal['all', 'suites', 'tests', 'none'] | None
Randomizes the test execution order.
all: randomizes both suites and tests
suites: randomizes suites
tests: randomizes tests
none: no randomization (default)
Use syntax VALUE:SEED to give a custom random seed.
The seed must be an integer.
Examples:
randomize = "all"# randomize tests with a fixed seed
randomize = "tests:1234"corresponds to the --randomize all|suites|tests|none option of robot
Type: str | StringExpression | None
Select failed tests from an earlier output file to be re-executed. Equivalent to selecting same tests individually using --test.
Examples:
re-run-failed = "output.xml"corresponds to the -R --rerunfailed output option of robot
Type: str | StringExpression | None
Select failed suites from an earlier output file to be re-executed.
Examples:
re-run-failed-suites = "output.xml"corresponds to the -S --rerunfailedsuites output option of robot
Type: RebotProfile | None
Options to be passed to rebot.
Type: Literal['auto', 'on', 'ansi', 'off'] | None
Use colors on console output or not.
auto: use colors when output not redirected (default)
on: always use colors
ansi: like on but use ANSI colors also on Windows
off: disable colors altogether
Examples:
console-colors = "on"corresponds to the -C --consolecolors auto|on|ansi|off option of robot
Type: Literal['auto', 'off'] | None
Control making paths to results files hyperlinks.
auto: use links when colors are enabled (default)
off: disable links unconditionally
Examples:
console-links = "off"corresponds to the --consolelinks auto|off option of robot
Type: str | StringExpression | None
Set the documentation of the top level suite. Simple formatting is supported (e.g. bold). If the documentation contains spaces, it must be quoted. If the value is path to an existing file, actual documentation is read from that file.
Examples:
doc = "Very *good* example"# read documentation from a file
doc = "doc_from_file.txt"corresponds to the -D --doc documentation option of robot
Type: str | StringExpression | None
Same as --starttime but for end time. If both options are used, elapsed time of the suite is calculated based on them. For combined suites, it is otherwise calculated by adding elapsed times of the combined suites together.
Examples:
end-time = "2024-12-15 14:35:42.123"corresponds to the --endtime timestamp option of rebot
Type: list[str | StringExpression] | None
Select test cases not to run by tag. These tests are not run even if included with --include. Tags are matched using same rules as with --include.
Examples:
excludes = ["smoke", "wip*"]corresponds to the -e --exclude tag * option of robot
Type: list[str | NamePattern | TagPattern] | None
Matching keywords will be automatically expanded in the log file. Matching against keyword name or tags work using same rules as with --removekeywords.
Examples:
expand-keywords = ["name:BuiltIn.Log", "tag:expand"]corresponds to the --expandkeywords name:<pattern>|tag:<pattern> * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --exclude option.
Select test cases not to run by tag. These tests are not run even if included with --include. Tags are matched using same rules as with --include.
Examples:
extend-excludes = ["smoke", "wip*"]corresponds to the -e --exclude tag * option of robot
Type: list[str | NamePattern | TagPattern] | None
Appends entries to the --expandkeywords option.
Matching keywords will be automatically expanded in the log file. Matching against keyword name or tags work using same rules as with --removekeywords.
Examples:
extend-expand-keywords = ["name:BuiltIn.Log", "tag:expand"]corresponds to the --expandkeywords name:<pattern>|tag:<pattern> * option of robot
Type: list[str | Literal['for', 'while', 'iteration'] | NamePattern | TagPattern] | None
Appends entries to the --flattenkeywords option.
Flattens matching keywords in the generated log file. Matching keywords get all log messages from their child keywords and children are discarded otherwise.
for: flatten FOR loops fully
while: flatten WHILE loops fully
iteration: flatten FOR/WHILE loop iterations
foritem: deprecated alias for iteration
name:<pattern>: flatten matched keywords using same
matching rules as with
--removekeywords name:<pattern>
tag:<pattern>: flatten matched keywords using same
matching rules as with
--removekeywords tag:<pattern>
Examples:
extend-flatten-keywords = ["for", "name:Lib.HugeKw", "tag:flatten"]corresponds to the --flattenkeywords for|while|iteration|name:<pattern>|tag:<pattern> * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --include option.
Select tests by tag. Similarly as name with --test,
tag is case and space insensitive and it is possible
to use patterns with *, ? and [] as wildcards.
Tags and patterns can also be combined together with
AND, OR, and NOT operators.
Examples:
# match tests tagged "foo" or "bar*"
extend-includes = ["foo", "bar*"]# tests with both "foo" and "bar*" tags
extend-includes = ["fooANDbar*"]corresponds to the -i --include tag * option of robot
Type: dict[str, str | StringExpression] | None
Appends entries to the --metadata option.
Set metadata of the top level suite. Value can contain formatting and be read from a file similarly as --doc. Example: --metadata Version:1.2
Examples:
[extend-metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"corresponds to the -M --metadata name:value * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --parseinclude option.
Parse only files matching pattern. It can be:
- a file name or pattern like
example.robotor*.robotto parse all files matching that name, - a file path like
path/to/example.robot, or - a directory path like
path/to/exampleto parse all files in that directory, recursively.
Examples:
extend-parse-include = ["*.robot", "tests/**/*.robot"]corresponds to the -I --parseinclude pattern * option of robot
Type: dict[str, list[str | StringExpression]] | None
Appends entries to the --prerebotmodifier option.
Class to programmatically modify the result model before creating reports and logs. Accepts arguments the same way as with --listener.
Examples:
[extend-pre-rebot-modifiers]
"path/to/Modifier.py" = ["arg1"]corresponds to the --prerebotmodifier modifier * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --pythonpath option.
Additional locations (directories, ZIPs) where to
search libraries and other extensions when they are
imported. Multiple paths can be given by separating
them with a colon (:) or by using this option
several times. Given path can also be a glob pattern
matching multiple paths.
Examples:
extend-python-path = ["libs/", "/opt/libs", "libraries.zip"]corresponds to the -P --pythonpath path * option of robot
Type: list[str | Literal['all', 'passed', 'for', 'wuks'] | NamePattern | TagPattern] | None
Appends entries to the --removekeywords option.
Remove keyword data from the generated log file.
Keywords containing warnings are not removed except
in the all mode.
all: remove data from all keywords
passed: remove data only from keywords in passed test cases and suites
for: remove passed iterations from FOR loops
while: remove passed iterations from WHILE loops
wuks: remove all but the last failing keyword
inside BuiltIn.Wait Until Keyword Succeeds
name:<pattern>: remove data from keywords that match
the given pattern. The pattern is matched
against the full name of the keyword (e.g.
'MyLib.Keyword', 'resource.Second Keyword'),
is case, space, and underscore insensitive,
and may contain *, ? and [] wildcards.
tag:<pattern>: remove data from keywords that match
the given pattern. Tags are case and space
insensitive and patterns can contain *,
? and [] wildcards. Tags and patterns
can also be combined together with AND,
OR, and NOT operators.
Examples:
# match by keyword name
extend-remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]# match by tag pattern (same rules as --include)
extend-remove-keywords = ["foo", "fooANDbar*"]corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --settag option.
Sets given tag(s) to all executed tests.
Examples:
extend-set-tag = ["my-suite-tag", "ci"]corresponds to the -G --settag tag * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --suite option.
Select suites by name. When this option is used with
--test, --include or --exclude, only tests in
matching suites and also matching other filtering
criteria are selected. Name can be a simple pattern
similarly as with --test and it can contain parent
name separated with a dot. For example, -s X.Y
selects suite Y only if its parent is X.
Examples:
# match a suite by name or by parent.child path
extend-suites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of robot
Type: dict[str, str | StringExpression] | None
Appends entries to the --tagdoc option.
Add documentation to tags matching the given
pattern. Documentation is shown in Test Details and
also as a tooltip in Statistics by Tag. Pattern can
use *, ? and [] as wildcards like --test.
Examples:
[extend-tag-doc]
mytag = "Example"
"owner-*" = "Original author"corresponds to the --tagdoc pattern:doc * option of robot
Type: list[str | dict[str, str]] | None
Appends entries to the --tagstatcombine option.
Create combined statistics based on tags.
These statistics are added into Statistics by Tag.
If the optional name is not given, name of the
combined tag is got from the specified tags. Tags are
matched using the same rules as with --include.
Examples:
extend-tag-stat-combine = ["requirement-*", { "tag1ANDtag2" = "My_name" }]corresponds to the --tagstatcombine tags:name * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --tagstatexclude option.
Exclude matching tags from Statistics by Tag.
This option can be used with --tagstatinclude
similarly as --exclude is used with --include.
Examples:
extend-tag-stat-exclude = ["bug-*"]corresponds to the --tagstatexclude tag * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --tagstatinclude option.
Include only matching tags in Statistics by Tag
in log and report. By default all tags are shown.
Given tag can be a pattern like with --include.
Examples:
extend-tag-stat-include = ["owner-*", "feature-*"]corresponds to the --tagstatinclude tag * option of robot
Type: dict[str, str | StringExpression] | None
Appends entries to the --tagstatlink option.
Add external links into Statistics by Tag. Pattern can use *, ? and [] as wildcards
like --test. Characters matching to * and ?
wildcards can be used in link and title with syntax
%N, where N is index of the match (starting from 1).
Examples:
[extend-tag-stat-link]
mytag = "http://my.domain:Title"
"bug-*" = "http://url/id=%1:Issue Tracker"corresponds to the --tagstatlink pattern:link:title * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --task option.
Alias to --test. Especially applicable with --rpa.
Examples:
extend-tasks = ["My Task", "Smoke*"]corresponds to the --task name * option of robot
Type: list[str | StringExpression] | None
Appends entries to the --test option.
Select tests by name or by long name containing also
parent suite name like Parent.Test. Name is case
and space insensitive and it can also be a simple
pattern where * matches anything, ? matches any
single character, and [chars] matches one character
in brackets.
Examples:
extend-tests = ["My Test", "Smoke*"]corresponds to the -t --test name * option of robot
Type: list[str | Literal['for', 'while', 'iteration'] | NamePattern | TagPattern] | None
Flattens matching keywords in the generated log file. Matching keywords get all log messages from their child keywords and children are discarded otherwise.
for: flatten FOR loops fully
while: flatten WHILE loops fully
iteration: flatten FOR/WHILE loop iterations
foritem: deprecated alias for iteration
name:<pattern>: flatten matched keywords using same
matching rules as with
--removekeywords name:<pattern>
tag:<pattern>: flatten matched keywords using same
matching rules as with
--removekeywords tag:<pattern>
Examples:
flatten-keywords = ["for", "name:Lib.HugeKw", "tag:flatten"]corresponds to the --flattenkeywords for|while|iteration|name:<pattern>|tag:<pattern> * option of robot
Type: list[str | StringExpression] | None
Select tests by tag. Similarly as name with --test,
tag is case and space insensitive and it is possible
to use patterns with *, ? and [] as wildcards.
Tags and patterns can also be combined together with
AND, OR, and NOT operators.
Examples:
# match tests tagged "foo" or "bar*"
includes = ["foo", "bar*"]# tests with both "foo" and "bar*" tags
includes = ["fooANDbar*"]corresponds to the -i --include tag * option of robot
Type: bool | Flag | None
Create XML output file in format compatible with Robot Framework 6.x and earlier.
Examples:
legacy-output = truecorresponds to the --legacyoutput option of robot
Type: str | StringExpression | None
HTML log file. Can be disabled by giving a special
value NONE. Default: log.html
Examples:
log = "mylog.html"# disable log file generation
log = "NONE"corresponds to the -l --log file option of robot
Type: str | StringExpression | None
Threshold for selecting messages. Available levels:
TRACE (default), DEBUG, INFO, WARN, NONE (no msgs).
Use syntax LOGLEVEL:DEFAULT to define the default
visible log level in log files.
Examples:
log-level = "DEBUG"# explicit visible level (default: INFO)
log-level = "DEBUG:INFO"corresponds to the -L --loglevel level option of rebot
Type: str | StringExpression | None
Title for the generated log file. The default title
is <SuiteName> Log.
Examples:
log-title = "My Project Log"corresponds to the --logtitle title option of robot
Type: bool | Flag | None
When combining results, merge outputs together instead of putting them under a new top level suite.
Example: rebot --merge orig.xml rerun.xml
Examples:
merge = truecorresponds to the -R --merge option of rebot
Type: dict[str, str | StringExpression] | None
Set metadata of the top level suite. Value can contain formatting and be read from a file similarly as --doc. Example: --metadata Version:1.2
Examples:
[metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"corresponds to the -M --metadata name:value * option of robot
Type: str | StringExpression | None
Set the name of the top level suite. By default the name is created based on the executed file or directory.
Examples:
name = "My Project"corresponds to the -N --name name option of robot
Type: bool | Flag | None
Sets the return code to zero regardless of failures in test cases. Error codes are returned normally.
Examples:
# always exit 0 regardless of failed tests
no-status-rc = truecorresponds to the --nostatusrc option of robot
Type: str | StringExpression | None
XML output file. Not created unless this option is specified. Given path, similarly as paths given to --log, --report and --xunit, is relative to --outputdir unless given as an absolute path.
Examples:
output = "output.xml"corresponds to the -o --output file option of rebot
Type: str | StringExpression | None
Where to create output files. The default is the directory where tests are run from and the given path is considered relative to that unless it is absolute.
Examples:
output-dir = "results"corresponds to the -d --outputdir dir option of robot
Type: list[str | StringExpression] | None
Parse only files matching pattern. It can be:
- a file name or pattern like
example.robotor*.robotto parse all files matching that name, - a file path like
path/to/example.robot, or - a directory path like
path/to/exampleto parse all files in that directory, recursively.
Examples:
parse-include = ["*.robot", "tests/**/*.robot"]corresponds to the -I --parseinclude pattern * option of robot
Type: dict[str, list[str | StringExpression]] | None
Class to programmatically modify the result model before creating reports and logs. Accepts arguments the same way as with --listener.
Examples:
[pre-rebot-modifiers]
"path/to/Modifier.py" = ["arg1"]corresponds to the --prerebotmodifier modifier * option of robot
Type: bool | Flag | None
Processes output also if the top level suite is empty. Useful e.g. with --include/--exclude when it is not an error that there are no matches.
Examples:
process-empty-suite = truecorresponds to the --processemptysuite option of rebot
Type: list[str | StringExpression] | None
Additional locations (directories, ZIPs) where to
search libraries and other extensions when they are
imported. Multiple paths can be given by separating
them with a colon (:) or by using this option
several times. Given path can also be a glob pattern
matching multiple paths.
Examples:
python-path = ["libs/", "/opt/libs", "libraries.zip"]corresponds to the -P --pythonpath path * option of robot
Type: list[str | Literal['all', 'passed', 'for', 'wuks'] | NamePattern | TagPattern] | None
Remove keyword data from the generated log file.
Keywords containing warnings are not removed except
in the all mode.
all: remove data from all keywords
passed: remove data only from keywords in passed test cases and suites
for: remove passed iterations from FOR loops
while: remove passed iterations from WHILE loops
wuks: remove all but the last failing keyword
inside BuiltIn.Wait Until Keyword Succeeds
name:<pattern>: remove data from keywords that match
the given pattern. The pattern is matched
against the full name of the keyword (e.g.
'MyLib.Keyword', 'resource.Second Keyword'),
is case, space, and underscore insensitive,
and may contain *, ? and [] wildcards.
tag:<pattern>: remove data from keywords that match
the given pattern. Tags are case and space
insensitive and patterns can contain *,
? and [] wildcards. Tags and patterns
can also be combined together with AND,
OR, and NOT operators.
Examples:
# match by keyword name
remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]# match by tag pattern (same rules as --include)
remove-keywords = ["foo", "fooANDbar*"]corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot
Type: str | StringExpression | None
HTML report file. Can be disabled with NONE
similarly as --log. Default: report.html
Examples:
report = "report.html"corresponds to the -r --report file option of robot
Type: str | StringExpression | None
Background colors to use in the report file.
Given in format passed:failed:skipped where the
:skipped part can be omitted. Both color names and
codes work.
Examples:
# pass:fail:skip colours
report-background = "green:red:yellow"# pass:fail (skip uses the fail colour)
report-background = "#00E:#E00"corresponds to the --reportbackground colors option of robot
Type: str | StringExpression | None
Title for the generated report file. The default
title is <SuiteName> Report.
Examples:
report-title = "My Project Report"corresponds to the --reporttitle title option of robot
Type: bool | Flag | None
Turn on the generic automation mode. Mainly affects terminology so that "test" is replaced with "task" in logs and reports. By default the mode is got from test/task header in data files.
Examples:
rpa = truecorresponds to the --rpa option of robot
Type: list[str | StringExpression] | None
Sets given tag(s) to all executed tests.
Examples:
set-tag = ["my-suite-tag", "ci"]corresponds to the -G --settag tag * option of robot
Type: bool | Flag | None
Split the log file into smaller pieces that open in browsers transparently.
Examples:
split-log = truecorresponds to the --splitlog option of robot
Type: str | StringExpression | None
Set execution start time. Timestamp must be given in
format 2007-10-01 15:12:42.268 where all separators
are optional (e.g. 20071001151242268 is ok too) and
parts from milliseconds to hours can be omitted if
they are zero (e.g. 2007-10-01). This can be used
to override start time of a single suite or to set
start time for a combined suite, which would
otherwise be N/A.
Examples:
start-time = "2024-12-15 14:30:00.000"corresponds to the --starttime timestamp option of rebot
Type: int | None
How many levels to show in Statistics by Suite
in log and report. By default all suite levels are
shown. Example: --suitestatlevel 3
Examples:
suite-stat-level = 2corresponds to the --suitestatlevel level option of robot
Type: list[str | StringExpression] | None
Select suites by name. When this option is used with
--test, --include or --exclude, only tests in
matching suites and also matching other filtering
criteria are selected. Name can be a simple pattern
similarly as with --test and it can contain parent
name separated with a dot. For example, -s X.Y
selects suite Y only if its parent is X.
Examples:
# match a suite by name or by parent.child path
suites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of robot
Type: dict[str, str | StringExpression] | None
Add documentation to tags matching the given
pattern. Documentation is shown in Test Details and
also as a tooltip in Statistics by Tag. Pattern can
use *, ? and [] as wildcards like --test.
Examples:
[tag-doc]
mytag = "Example"
"owner-*" = "Original author"corresponds to the --tagdoc pattern:doc * option of robot
Type: list[str | dict[str, str]] | None
Create combined statistics based on tags.
These statistics are added into Statistics by Tag.
If the optional name is not given, name of the
combined tag is got from the specified tags. Tags are
matched using the same rules as with --include.
Examples:
tag-stat-combine = ["requirement-*", { "tag1ANDtag2" = "My_name" }]corresponds to the --tagstatcombine tags:name * option of robot
Type: list[str | StringExpression] | None
Exclude matching tags from Statistics by Tag.
This option can be used with --tagstatinclude
similarly as --exclude is used with --include.
Examples:
tag-stat-exclude = ["bug-*"]corresponds to the --tagstatexclude tag * option of robot
Type: list[str | StringExpression] | None
Include only matching tags in Statistics by Tag
in log and report. By default all tags are shown.
Given tag can be a pattern like with --include.
Examples:
tag-stat-include = ["owner-*", "feature-*"]corresponds to the --tagstatinclude tag * option of robot
Type: dict[str, str | StringExpression] | None
Add external links into Statistics by Tag. Pattern can use *, ? and [] as wildcards
like --test. Characters matching to * and ?
wildcards can be used in link and title with syntax
%N, where N is index of the match (starting from 1).
Examples:
[tag-stat-link]
mytag = "http://my.domain:Title"
"bug-*" = "http://url/id=%1:Issue Tracker"corresponds to the --tagstatlink pattern:link:title * option of robot
Type: list[str | StringExpression] | None
Alias to --test. Especially applicable with --rpa.
Examples:
tasks = ["My Task", "Smoke*"]corresponds to the --task name * option of robot
Type: list[str | StringExpression] | None
Select tests by name or by long name containing also
parent suite name like Parent.Test. Name is case
and space insensitive and it can also be a simple
pattern where * matches anything, ? matches any
single character, and [chars] matches one character
in brackets.
Examples:
tests = ["My Test", "Smoke*"]corresponds to the -t --test name * option of robot
Type: bool | Flag | None
When this option is used, timestamp in a format
YYYYMMDD-hhmmss is added to all generated output
files between their basename and extension. For
example -T -o output.xml -r report.html -l none
creates files like output-20070503-154410.xml and
report-20070503-154410.html.
Examples:
timestamp-outputs = truecorresponds to the -T --timestampoutputs option of robot
Type: str | StringExpression | None
xUnit compatible result file. Not created unless this option is specified.
Examples:
xunit = "xunit.xml"corresponds to the -x --xunit file option of robot
Type: list[str | Literal['all', 'passed', 'for', 'wuks'] | NamePattern | TagPattern] | None
Remove keyword data from the generated log file.
Keywords containing warnings are not removed except
in the all mode.
all: remove data from all keywords
passed: remove data only from keywords in passed test cases and suites
for: remove passed iterations from FOR loops
while: remove passed iterations from WHILE loops
wuks: remove all but the last failing keyword
inside BuiltIn.Wait Until Keyword Succeeds
name:<pattern>: remove data from keywords that match
the given pattern. The pattern is matched
against the full name of the keyword (e.g.
'MyLib.Keyword', 'resource.Second Keyword'),
is case, space, and underscore insensitive,
and may contain *, ? and [] wildcards.
tag:<pattern>: remove data from keywords that match
the given pattern. Tags are case and space
insensitive and patterns can contain *,
? and [] wildcards. Tags and patterns
can also be combined together with AND,
OR, and NOT operators.
Examples:
# match by keyword name
remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]# match by tag pattern (same rules as --include)
remove-keywords = ["foo", "fooANDbar*"]corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot
Type: str | StringExpression | None
HTML report file. Can be disabled with NONE
similarly as --log. Default: report.html
Examples:
report = "report.html"corresponds to the -r --report file option of robot
Type: str | StringExpression | None
Background colors to use in the report file.
Given in format passed:failed:skipped where the
:skipped part can be omitted. Both color names and
codes work.
Examples:
# pass:fail:skip colours
report-background = "green:red:yellow"# pass:fail (skip uses the fail colour)
report-background = "#00E:#E00"corresponds to the --reportbackground colors option of robot
Type: str | StringExpression | None
Title for the generated report file. The default
title is <SuiteName> Report.
Examples:
report-title = "My Project Report"corresponds to the --reporttitle title option of robot
Type: bool | Flag | None
Turn on the generic automation mode. Mainly affects terminology so that "test" is replaced with "task" in logs and reports. By default the mode is got from test/task header in data files.
Examples:
rpa = truecorresponds to the --rpa option of robot
Type: bool | Flag | None
Executes suite even if it contains no tests. Useful e.g. with --include/--exclude when it is not an error that no test matches the condition.
Examples:
run-empty-suite = truecorresponds to the --runemptysuite option of robot
Type: list[str | StringExpression] | None
Sets given tag(s) to all executed tests.
Examples:
set-tag = ["my-suite-tag", "ci"]corresponds to the -G --settag tag * option of robot
Type: list[str | StringExpression] | None
Tests having given tag will be skipped. Tag can be a pattern.
Examples:
skip = ["bug-*", "wip"]corresponds to the --skip tag * option of robot
Type: list[str | StringExpression] | None
Tests having given tag will be skipped if they fail. Tag can be a pattern
Examples:
skip-on-failure = ["unstable"]corresponds to the --skiponfailure tag * option of robot
Type: bool | Flag | None
Causes teardowns to be skipped if test execution is stopped prematurely.
Examples:
skip-teardown-on-exit = truecorresponds to the --skipteardownonexit option of robot
Type: bool | Flag | None
Split the log file into smaller pieces that open in browsers transparently.
Examples:
split-log = truecorresponds to the --splitlog option of robot
Type: int | None
How many levels to show in Statistics by Suite
in log and report. By default all suite levels are
shown. Example: --suitestatlevel 3
Examples:
suite-stat-level = 2corresponds to the --suitestatlevel level option of robot
Type: list[str | StringExpression] | None
Select suites by name. When this option is used with
--test, --include or --exclude, only tests in
matching suites and also matching other filtering
criteria are selected. Name can be a simple pattern
similarly as with --test and it can contain parent
name separated with a dot. For example, -s X.Y
selects suite Y only if its parent is X.
Examples:
# match a suite by name or by parent.child path
suites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of robot
Type: dict[str, str | StringExpression] | None
Add documentation to tags matching the given
pattern. Documentation is shown in Test Details and
also as a tooltip in Statistics by Tag. Pattern can
use *, ? and [] as wildcards like --test.
Examples:
[tag-doc]
mytag = "Example"
"owner-*" = "Original author"corresponds to the --tagdoc pattern:doc * option of robot
Type: list[str | dict[str, str]] | None
Create combined statistics based on tags.
These statistics are added into Statistics by Tag.
If the optional name is not given, name of the
combined tag is got from the specified tags. Tags are
matched using the same rules as with --include.
Examples:
tag-stat-combine = ["requirement-*", { "tag1ANDtag2" = "My_name" }]corresponds to the --tagstatcombine tags:name * option of robot
Type: list[str | StringExpression] | None
Exclude matching tags from Statistics by Tag.
This option can be used with --tagstatinclude
similarly as --exclude is used with --include.
Examples:
tag-stat-exclude = ["bug-*"]corresponds to the --tagstatexclude tag * option of robot
Type: list[str | StringExpression] | None
Include only matching tags in Statistics by Tag
in log and report. By default all tags are shown.
Given tag can be a pattern like with --include.
Examples:
tag-stat-include = ["owner-*", "feature-*"]corresponds to the --tagstatinclude tag * option of robot
Type: dict[str, str | StringExpression] | None
Add external links into Statistics by Tag. Pattern can use *, ? and [] as wildcards
like --test. Characters matching to * and ?
wildcards can be used in link and title with syntax
%N, where N is index of the match (starting from 1).
Examples:
[tag-stat-link]
mytag = "http://my.domain:Title"
"bug-*" = "http://url/id=%1:Issue Tracker"corresponds to the --tagstatlink pattern:link:title * option of robot
Type: list[str | StringExpression] | None
Alias to --test. Especially applicable with --rpa.
Examples:
tasks = ["My Task", "Smoke*"]corresponds to the --task name * option of robot
Type: TestDocProfile | None
Options to be passed to testdoc.
Type: str | StringExpression | None
Override the documentation of the top level suite.
Examples:
doc = "Very *good* example"# read documentation from a file
doc = "doc_from_file.txt"corresponds to the -D --doc document option of testdoc
Type: list[str | StringExpression] | None
Exclude tests by tags.
Examples:
excludes = ["smoke", "wip*"]corresponds to the -e --exclude tag * option of testdoc
Type: list[str | StringExpression] | None
Appends entries to the --exclude option.
Exclude tests by tags.
Examples:
extend-excludes = ["smoke", "wip*"]corresponds to the -e --exclude tag * option of testdoc
Type: list[str | StringExpression] | None
Appends entries to the --include option.
Include tests by tags.
Examples:
# match tests tagged "foo" or "bar*"
extend-includes = ["foo", "bar*"]# tests with both "foo" and "bar*" tags
extend-includes = ["fooANDbar*"]corresponds to the -i --include tag * option of testdoc
Type: dict[str, str | StringExpression] | None
Appends entries to the --metadata option.
Set/override metadata of the top level suite.
Examples:
[extend-metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"corresponds to the -M --metadata name:value * option of testdoc
Type: list[str | StringExpression] | None
Appends entries to the --settag option.
Set given tag(s) to all test cases.
Examples:
extend-set-tag = ["my-suite-tag", "ci"]corresponds to the -G --settag tag * option of testdoc
Type: list[str | StringExpression] | None
Appends entries to the --suite option.
Include suites by name.
Examples:
# match a suite by name or by parent.child path
extend-suites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of testdoc
Type: list[str | StringExpression] | None
Appends entries to the --test option.
Include tests by name.
Examples:
extend-tests = ["My Test", "Smoke*"]corresponds to the -t --test name * option of testdoc
Type: list[str | StringExpression] | None
Include tests by tags.
Examples:
# match tests tagged "foo" or "bar*"
includes = ["foo", "bar*"]# tests with both "foo" and "bar*" tags
includes = ["fooANDbar*"]corresponds to the -i --include tag * option of testdoc
Type: dict[str, str | StringExpression] | None
Set/override metadata of the top level suite.
Examples:
[metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"corresponds to the -M --metadata name:value * option of testdoc
Type: str | StringExpression | None
Override the name of the top level suite.
Examples:
name = "My Project"corresponds to the -N --name name option of testdoc
Type: list[str | StringExpression] | None
Set given tag(s) to all test cases.
Examples:
set-tag = ["my-suite-tag", "ci"]corresponds to the -G --settag tag * option of testdoc
Type: list[str | StringExpression] | None
Include suites by name.
Examples:
# match a suite by name or by parent.child path
suites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of testdoc
Type: list[str | StringExpression] | None
Include tests by name.
Examples:
tests = ["My Test", "Smoke*"]corresponds to the -t --test name * option of testdoc
Type: str | StringExpression | None
Set the title of the generated documentation. Underscores in the title are converted to spaces. The default title is the name of the top level suite.
Examples:
title = "My Library"corresponds to the -T --title title option of testdoc
Type: list[str | StringExpression] | None
Select tests by name or by long name containing also
parent suite name like Parent.Test. Name is case
and space insensitive and it can also be a simple
pattern where * matches anything, ? matches any
single character, and [chars] matches one character
in brackets.
Examples:
tests = ["My Test", "Smoke*"]corresponds to the -t --test name * option of robot
Type: bool | Flag | None
When this option is used, timestamp in a format
YYYYMMDD-hhmmss is added to all generated output
files between their basename and extension. For
example -T -o output.xml -r report.html -l none
creates files like output-20070503-154410.xml and
report-20070503-154410.html.
Examples:
timestamp-outputs = truecorresponds to the -T --timestampoutputs option of robot
Type: dict[str, Any] | None
Tool configurations.
Type: CacheConfig | None
Defines the cache configuration.
Type: str | None
Path to the cache directory.
Type: bool | None
Enable or disable caching of fully analyzed namespace data to disk. Can speed up startup for large projects by skipping re-analysis of unchanged files. Defaults to enabled.
Examples:
[tool.robotcode-analyze.cache]
cache_namespaces = falseType: list[str] | None
Extend the ignore arguments for library settings.
Type: list[str] | None
Extend the ignored libraries setting.
Type: list[str] | None
Extend the ignored variables setting.
Type: list[str] | None
Specifies a list of libraries for which arguments will be ignored during analysis. This is usefull if you have library that gets variables from a python file as arguments that contains complex data like big dictionaries or complex objects that RobotCode can't handle. You can specify a glob pattern that matches the library name or the source file.
Examples:
**/mylibfolder/mylib.pyMyLibmylib.subpackage.subpackage
If you change this setting, you may need to run the command
RobotCode: Clear Cache and Restart Language Servers.
Ensure your library functions correctly without arguments e.g. by defining default values for all arguments.
Type: list[str] | None
Specifies the library names that should not be cached. This is useful if you have a dynamic or hybrid library that has different keywords depending on the arguments. You can specify a glob pattern that matches the library name or the source file.
Examples:
**/mylibfolder/mylib.pyMyLibmylib.subpackage.subpackage
For robot framework internal libraries, you have to specify the full module name like
robot.libraries.Remote.
Type: list[str] | None
Specifies the variable files that should not be cached. This is useful if you have a dynamic or hybrid variable files that has different variables depending on the arguments. You can specify a glob pattern that matches the variable module name or the source file.
Examples:
**/variables/myvars.pyMyVariablesmyvars.subpackage.subpackage
Type: CodeConfig | None
Defines the code analysis configuration.
Examples:
[tool.robotcode-analyze.code]
exit_code_mask = "error|warn"Type: bool | None
Enables collection of unused keyword and unused variable diagnostics.
By default this is disabled. Set to true to report unused keywords and variables.
Examples:
[tool.robotcode-analyze.code]
collect_unused = trueType: list[Literal['error', 'warn', 'warning', 'info', 'information', 'hint', 'all']] | None
Specifies the exit code mask for the code analysis. This is useful if you want to ignore certain types of diagnostics in the result code.
Examples:
[tool.robotcode-analyze.code]
exit_code_mask = ["error", "warn"]Type: list[Literal['error', 'warn', 'warning', 'info', 'information', 'hint', 'all']] | None
Extend the exit code mask setting.
Type: list[str] | None
Specifies glob patterns for excluding files and folders from analysing by the language server.
Type: CacheConfig | None
Extend the cache configuration.
Type: str | None
Path to the cache directory.
Type: bool | None
Enable or disable caching of fully analyzed namespace data to disk. Can speed up startup for large projects by skipping re-analysis of unchanged files. Defaults to enabled.
Examples:
[tool.robotcode-analyze.cache]
cache_namespaces = falseType: list[str] | None
Extend the ignore arguments for library settings.
Type: list[str] | None
Extend the ignored libraries setting.
Type: list[str] | None
Extend the ignored variables setting.
Type: list[str] | None
Specifies a list of libraries for which arguments will be ignored during analysis. This is usefull if you have library that gets variables from a python file as arguments that contains complex data like big dictionaries or complex objects that RobotCode can't handle. You can specify a glob pattern that matches the library name or the source file.
Examples:
**/mylibfolder/mylib.pyMyLibmylib.subpackage.subpackage
If you change this setting, you may need to run the command
RobotCode: Clear Cache and Restart Language Servers.
Ensure your library functions correctly without arguments e.g. by defining default values for all arguments.
Type: list[str] | None
Specifies the library names that should not be cached. This is useful if you have a dynamic or hybrid library that has different keywords depending on the arguments. You can specify a glob pattern that matches the library name or the source file.
Examples:
**/mylibfolder/mylib.pyMyLibmylib.subpackage.subpackage
For robot framework internal libraries, you have to specify the full module name like
robot.libraries.Remote.
Type: list[str] | None
Specifies the variable files that should not be cached. This is useful if you have a dynamic or hybrid variable files that has different variables depending on the arguments. You can specify a glob pattern that matches the variable module name or the source file.
Examples:
**/variables/myvars.pyMyVariablesmyvars.subpackage.subpackage
Type: CodeConfig | None
Extend the code analysis configuration.
Type: bool | None
Enables collection of unused keyword and unused variable diagnostics.
By default this is disabled. Set to true to report unused keywords and variables.
Examples:
[tool.robotcode-analyze.code]
collect_unused = trueType: list[Literal['error', 'warn', 'warning', 'info', 'information', 'hint', 'all']] | None
Specifies the exit code mask for the code analysis. This is useful if you want to ignore certain types of diagnostics in the result code.
Examples:
[tool.robotcode-analyze.code]
exit_code_mask = ["error", "warn"]Type: list[Literal['error', 'warn', 'warning', 'info', 'information', 'hint', 'all']] | None
Extend the exit code mask setting.
Type: list[str] | None
Extend the exclude patterns.
Type: list[str] | None
Extend the global library search order setting.
Type: ModifiersConfig | None
Extends the modifiers for the analysis.
Examples:
[tool.robotcode-analyze.extend_modifiers]
ignore = ["VariableNotFound"]
extend-hint = ["KeywordNotFound"]
extend-information = ["MultipleKeywords"]Type: list[str] | None
Specifies the diagnostics codes to treat as errors.
Examples:
[tool.robotcode-analyze.modifiers]
error = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Extend the diagnostics codes to treat as errors.
Examples:
[tool.robotcode-analyze.modifiers]
extend_error = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Extend the diagnostics codes to treat as hint.
Examples:
[tool.robotcode-analyze.modifiers]
extend_hint = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Extend the diagnostics codes to ignore.
Examples:
[tool.robotcode-analyze.modifiers]
extend_ignore = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Extend the diagnostics codes to treat as information.
Examples:
[tool.robotcode-analyze.modifiers]
extend_information = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Extend the diagnostics codes to treat as warning.
Examples:
[tool.robotcode-analyze.modifiers]
extend_warning = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Specifies the diagnostics codes to treat as hint.
Examples:
[tool.robotcode-analyze.modifiers]
hint = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Specifies the diagnostics codes to ignore.
Examples:
[tool.robotcode-analyze.modifiers]
ignore = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Specifies the diagnostics codes to treat as information.
Examples:
[tool.robotcode-analyze.modifiers]
information = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Specifies the diagnostics codes to treat as warning.
Examples:
[tool.robotcode-analyze.modifiers]
warning = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Specifies a global search order
for libraries and resources.
This is usefull when you have libraries containing keywords with the same name. RobotCode is unable to
analyze the library search order in a file specified with
Set Library Search Order,
so you can define a global order here. Just make sure to call the Set Library Search Order
keyword somewhere in your robot file or internally in your library.
Type: int | None
Specifies the timeout in seconds for loading (importing) libraries and variable files during analysis. Increase this if your libraries perform heavy initialization (network calls, large dependency graphs, model loading, etc.).
Must be > 0 when set. If you omit this key, RobotCode will instead look for the environment
variable ROBOTCODE_LOAD_LIBRARY_TIMEOUT; otherwise it will use the internal default 10.
Examples:
[tool.robotcode-analyze]
# Fast fail if libraries normally import in < 2s
load_library_timeout = 5[tool.robotcode-analyze]
# Allow heavy bootstrap (e.g. Selenium + large resource trees)
load_library_timeout = 30[tool.robotcode-analyze]
# Omit to use default
# load_library_timeout = 15Type: ModifiersConfig | None
Defines the modifiers for the analysis.
Examples:
[tool.robotcode-analyze.modifiers]
ignore = ["VariableNotFound"]
hint = ["KeywordNotFound"]
information = ["MultipleKeywords"]Type: list[str] | None
Specifies the diagnostics codes to treat as errors.
Examples:
[tool.robotcode-analyze.modifiers]
error = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Extend the diagnostics codes to treat as errors.
Examples:
[tool.robotcode-analyze.modifiers]
extend_error = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Extend the diagnostics codes to treat as hint.
Examples:
[tool.robotcode-analyze.modifiers]
extend_hint = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Extend the diagnostics codes to ignore.
Examples:
[tool.robotcode-analyze.modifiers]
extend_ignore = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Extend the diagnostics codes to treat as information.
Examples:
[tool.robotcode-analyze.modifiers]
extend_information = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Extend the diagnostics codes to treat as warning.
Examples:
[tool.robotcode-analyze.modifiers]
extend_warning = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Specifies the diagnostics codes to treat as hint.
Examples:
[tool.robotcode-analyze.modifiers]
hint = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Specifies the diagnostics codes to ignore.
Examples:
[tool.robotcode-analyze.modifiers]
ignore = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Specifies the diagnostics codes to treat as information.
Examples:
[tool.robotcode-analyze.modifiers]
information = ["VariableNotFound", "multiple-keywords"]Type: list[str] | None
Specifies the diagnostics codes to treat as warning.
Examples:
[tool.robotcode-analyze.modifiers]
warning = ["VariableNotFound", "multiple-keywords"]Type: bool | None
Enable the experimental Semantic Model for code analysis. When enabled, LSP features use the new SemanticAnalyzer instead of the legacy NamespaceAnalyzer. This provides richer analysis including static resolution of nested variables and improved semantic highlighting.
This is experimental and may change without notice.
Can also be set via VS Code setting robotcode.experimental.semanticModel.
If set in both places, either true value enables the feature.
Examples:
[tool.robotcode-analyze]
semantic-model = trueType: list[str | StringExpression] | None
Python or YAML file file to read variables from. Possible arguments to the variable file can be given after the path using colon or semicolon as separator.
Examples:
variable-files = ["path/vars.yaml", "environment.py:testing"]corresponds to the -V --variablefile path * option of robot
Type: dict[str, str | StringExpression] | None
Set variables in the test data. Only scalar
variables with string value are supported and name is
given without ${}. See --variablefile for a more
powerful variable setting mechanism.
Examples:
# sets ${name} to "Robot"
[variables]
name = "Robot"corresponds to the -v --variable name:value * option of robot
Type: str | StringExpression | None
xUnit compatible result file. Not created unless this option is specified.
Examples:
xunit = "xunit.xml"corresponds to the -x --xunit file option of robot