robot.toml configuration settings
[profile].description
Section titled “[profile].description”Type: str | None
Description of the profile.
[profile].detached
Section titled “[profile].detached”Type: bool | None
Starts the profile from scratch: the settings outside of profiles, from all configuration files, and the profiles applied before it are not used.
Examples:
[profiles.clean]detached = truepaths = ["tests"][profile].enabled
Section titled “[profile].enabled”Type: bool | Condition | None
Whether the profile is used when it is selected; a disabled profile
is skipped. An if condition computes the value.
Examples:
# always disabledenabled = false# enabled if the environment variable CI is "true"enabled = { if = 'environ.get("CI") == "true"' }[profile].hidden
Section titled “[profile].hidden”Type: bool | Condition | None
Hides the profile from robotcode profiles list and from the
profile lists of the editors; it can still be selected by name.
Profiles whose names start with _ are hidden too.
Examples:
hidden = truehidden = { if = 'environ.get("CI") == "true"' }[profile].inherits
Section titled “[profile].inherits”Type: str | StringExpression | list[str | StringExpression] | None
Profiles to inherit from. Selecting this profile selects them too;
they are applied before it unless they have a higher precedence.
Examples:
inherits = ["default", "Firefox"][profile].precedence
Section titled “[profile].precedence”Type: int | None
Precedence of the profile. Lower values are executed first. A profile without a precedence counts as 0; profiles with the same precedence are applied in the order they are selected, for example on the command line.
Type: list[str] | None
Arguments to be passed to robot.
Examples:
args = ["-t", "abc"]console
Section titled “console”Type: str | Literal['verbose', 'dotted', 'quiet', 'none'] | None
How to report execution on the console. Built-in consoles:
verbose: report every suite and test (default)
dotted: only show . for passed test, s
for skipped and F for failed tests
quiet: no output except for errors/warnings
none: no output whatsoever Other values are interpreted as a custom console class or module. Argument format is the same as with --listener.
Examples:
console = "dotted"# custom console logger class or module (Robot Framework 7.5 or newer)console = "path/to/MyConsole.py:arg"corresponds to the --console console option of robot
console-colors
Section titled “console-colors”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
console-links
Section titled “console-links”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
console-markers
Section titled “console-markers”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
console-width
Section titled “console-width”Type: int | None
Width of the console output. Default is 78.
Examples:
console-width = 100corresponds to the -W --consolewidth chars option of robot
debug-file
Section titled “debug-file”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
default-profiles
Section titled “default-profiles”Type: str | list[str] | None
The profiles to use when no profile is selected, for example with
-p on the command line or in the editor.
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 filedoc = "doc_from_file.txt"corresponds to the -D --doc documentation option of robot
dotted
Section titled “dotted”Type: bool | Flag | None
Shortcut for --console dotted.
Examples:
dotted = truecorresponds to the -. --dotted option of robot
dry-run
Section titled “dry-run”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"excludes
Section titled “excludes”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
exit-on-error
Section titled “exit-on-error”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
exit-on-failure
Section titled “exit-on-failure”Type: bool | Flag | None
Stops test execution if any test fails.
Examples:
exit-on-failure = truecorresponds to the -X --exitonfailure option of robot
expand-keywords
Section titled “expand-keywords”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
extend-args
Section titled “extend-args”Type: list[str] | None
Append extra arguments to be passed to robot.
Examples:
extend-args = ["-t", "abc"]extend-env
Section titled “extend-env”Type: dict[str, str | StringExpression] | None
Append extra environment variables to be set before run.
Examples:
[extend-env]EXTRA_VAR = "value"extend-excludes
Section titled “extend-excludes”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
extend-expand-keywords
Section titled “extend-expand-keywords”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
extend-flatten-keywords
Section titled “extend-flatten-keywords”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
extend-includes
Section titled “extend-includes”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*" tagsextend-includes = ["foo AND bar*"]corresponds to the -i --include tag * option of robot
extend-languages
Section titled “extend-languages”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 robot
extend-libdoc
Section titled “extend-libdoc”Type: LibDocProfile | None
Changes the [libdoc] options that come before it, from an earlier
configuration file or before a profile: a setting given here
replaces the one of [libdoc], and an extend- setting adds to it.
Examples:
[extend-libdoc]theme = "DARK"extend-libdoc.doc-format
Section titled “extend-libdoc.doc-format”Type: Literal['ROBOT', 'MARKDOWN', 'HTML', 'TEXT', 'REST'] | None
Specifies the source documentation format. Possible values are Robot Framework's documentation format, Markdown, HTML, plain text and reStructuredText. The default value can be specified in library source code and the initial default value is ROBOT. Markdown support is new in RF 7.5.
Examples:
doc-format = "REST"corresponds to the -F --docformat ROBOT|MARKDOWN|HTML|TEXT|REST option of libdoc
extend-libdoc.extend-python-path
Section titled “extend-libdoc.extend-python-path”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
extend-libdoc.format
Section titled “extend-libdoc.format”Type: Literal['HTML', 'XML', 'JSON', 'LIBSPEC', 'MARKDOWN'] | None
Specifies whether to generate an HTML output for humans, a machine readable spec file in XML or JSON format, or a Markdown file. The LIBSPEC format means XML spec with documentations converted to HTML. The default format is got from the output file extension. MARKDOWN is new in RF 7.5.
Examples:
format = "HTML"corresponds to the -f --format HTML|XML|JSON|LIBSPEC|MARKDOWN option of libdoc
extend-libdoc.name
Section titled “extend-libdoc.name”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
extend-libdoc.python-path
Section titled “extend-libdoc.python-path”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
extend-libdoc.quiet
Section titled “extend-libdoc.quiet”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
extend-libdoc.spec-doc-format
Section titled “extend-libdoc.spec-doc-format”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. Not applicable with HTML or MARKDOWN outputs.
Examples:
spec-doc-format = "HTML"corresponds to the -s --specdocformat RAW|HTML option of libdoc
extend-libdoc.theme
Section titled “extend-libdoc.theme”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
extend-listeners
Section titled “extend-listeners”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 robot
extend-metadata
Section titled “extend-metadata”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
extend-parse-include
Section titled “extend-parse-include”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
extend-parsers
Section titled “extend-parsers”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 robot
extend-paths
Section titled “extend-paths”Type: str | list[str] | None
Append extra entries to the paths argument.
Examples:
extend-paths = ["tests"]extend-pre-rebot-modifiers
Section titled “extend-pre-rebot-modifiers”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
extend-pre-run-modifiers
Section titled “extend-pre-run-modifiers”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 robot
extend-profiles
Section titled “extend-profiles”Type: dict[str, RobotProfile] | None
Adds profiles to those of the earlier configuration files, for
example in .robot.toml to those of robot.toml. For a profile
that exists already, a setting given here replaces the one of the
profile, and an extend- setting adds to it.
Examples:
[extend-profiles.local]description = "My local settings"extend-variables = { BROWSER = "firefox" }extend-python-path
Section titled “extend-python-path”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
extend-rebot
Section titled “extend-rebot”Type: RebotProfile | None
Changes the [rebot] options that come before it, from an earlier
configuration file or before a profile: a setting given here
replaces the one of [rebot], and an extend- setting adds to it.
Examples:
[extend-rebot]report-title = "My run"extend-rebot.console
Section titled “extend-rebot.console”Type: str | Literal['verbose', 'quiet', 'none'] | None
How to report on the console. Built-in consoles:
verbose: show output file paths (default)
quiet: no output except for errors/warnings
none: no output whatsoever Other values are interpreted as a custom console class or module. Argument format is the same as with --listener.
Examples:
console = "quiet"# custom console logger class or moduleconsole = "path/to/Console.py:arg"corresponds to the --console console option of rebot
extend-rebot.console-colors
Section titled “extend-rebot.console-colors”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
extend-rebot.console-links
Section titled “extend-rebot.console-links”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
extend-rebot.doc
Section titled “extend-rebot.doc”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 filedoc = "doc_from_file.txt"corresponds to the -D --doc documentation option of robot
extend-rebot.end-time
Section titled “extend-rebot.end-time”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
extend-rebot.excludes
Section titled “extend-rebot.excludes”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
extend-rebot.expand-keywords
Section titled “extend-rebot.expand-keywords”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
extend-rebot.extend-excludes
Section titled “extend-rebot.extend-excludes”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
extend-rebot.extend-expand-keywords
Section titled “extend-rebot.extend-expand-keywords”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
extend-rebot.extend-flatten-keywords
Section titled “extend-rebot.extend-flatten-keywords”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
extend-rebot.extend-includes
Section titled “extend-rebot.extend-includes”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*" tagsextend-includes = ["foo AND bar*"]corresponds to the -i --include tag * option of robot
extend-rebot.extend-metadata
Section titled “extend-rebot.extend-metadata”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
extend-rebot.extend-parse-include
Section titled “extend-rebot.extend-parse-include”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
extend-rebot.extend-pre-rebot-modifiers
Section titled “extend-rebot.extend-pre-rebot-modifiers”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
extend-rebot.extend-python-path
Section titled “extend-rebot.extend-python-path”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
extend-rebot.extend-remove-keywords
Section titled “extend-rebot.extend-remove-keywords”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 nameextend-remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]# match by tag pattern (same rules as --include)extend-remove-keywords = ["foo", "foo AND bar*"]corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot
extend-rebot.extend-set-tag
Section titled “extend-rebot.extend-set-tag”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
extend-rebot.extend-suites
Section titled “extend-rebot.extend-suites”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 pathextend-suites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of robot
extend-rebot.extend-tag-doc
Section titled “extend-rebot.extend-tag-doc”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
extend-rebot.extend-tag-stat-combine
Section titled “extend-rebot.extend-tag-stat-combine”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-*", { "tag1 AND tag2" = "My_name" }]corresponds to the --tagstatcombine tags:name * option of robot
extend-rebot.extend-tag-stat-exclude
Section titled “extend-rebot.extend-tag-stat-exclude”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
extend-rebot.extend-tag-stat-include
Section titled “extend-rebot.extend-tag-stat-include”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
extend-rebot.extend-tag-stat-link
Section titled “extend-rebot.extend-tag-stat-link”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
extend-rebot.extend-tasks
Section titled “extend-rebot.extend-tasks”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
extend-rebot.extend-tests
Section titled “extend-rebot.extend-tests”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
extend-rebot.flatten-keywords
Section titled “extend-rebot.flatten-keywords”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
extend-rebot.includes
Section titled “extend-rebot.includes”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*" tagsincludes = ["foo AND bar*"]corresponds to the -i --include tag * option of robot
extend-rebot.legacy-output
Section titled “extend-rebot.legacy-output”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
extend-rebot.log
Section titled “extend-rebot.log”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 generationlog = "NONE"corresponds to the -l --log file option of robot
extend-rebot.log-level
Section titled “extend-rebot.log-level”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
extend-rebot.log-title
Section titled “extend-rebot.log-title”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
extend-rebot.merge
Section titled “extend-rebot.merge”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
extend-rebot.metadata
Section titled “extend-rebot.metadata”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
extend-rebot.name
Section titled “extend-rebot.name”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
extend-rebot.no-status-rc
Section titled “extend-rebot.no-status-rc”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 testsno-status-rc = truecorresponds to the --nostatusrc option of robot
extend-rebot.output
Section titled “extend-rebot.output”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
extend-rebot.output-dir
Section titled “extend-rebot.output-dir”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
extend-rebot.parse-include
Section titled “extend-rebot.parse-include”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
extend-rebot.pre-rebot-modifiers
Section titled “extend-rebot.pre-rebot-modifiers”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
extend-rebot.process-empty-suite
Section titled “extend-rebot.process-empty-suite”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
extend-rebot.python-path
Section titled “extend-rebot.python-path”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
extend-rebot.quiet
Section titled “extend-rebot.quiet”Type: bool | Flag | None
Shortcut for --console quiet.
Examples:
quiet = truecorresponds to the --quiet option of rebot
extend-rebot.remove-keywords
Section titled “extend-rebot.remove-keywords”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 nameremove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]# match by tag pattern (same rules as --include)remove-keywords = ["foo", "foo AND bar*"]corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot
extend-rebot.report
Section titled “extend-rebot.report”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
extend-rebot.report-background
Section titled “extend-rebot.report-background”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 coloursreport-background = "green:red:yellow"# pass:fail (skip uses the fail colour)report-background = "#00E:#E00"corresponds to the --reportbackground colors option of robot
extend-rebot.report-title
Section titled “extend-rebot.report-title”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
extend-rebot.rpa
Section titled “extend-rebot.rpa”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
extend-rebot.set-tag
Section titled “extend-rebot.set-tag”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
extend-rebot.split-log
Section titled “extend-rebot.split-log”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
extend-rebot.start-time
Section titled “extend-rebot.start-time”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
extend-rebot.suite-stat-level
Section titled “extend-rebot.suite-stat-level”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
extend-rebot.suites
Section titled “extend-rebot.suites”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 pathsuites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of robot
extend-rebot.tag-doc
Section titled “extend-rebot.tag-doc”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
extend-rebot.tag-stat-combine
Section titled “extend-rebot.tag-stat-combine”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-*", { "tag1 AND tag2" = "My_name" }]corresponds to the --tagstatcombine tags:name * option of robot
extend-rebot.tag-stat-exclude
Section titled “extend-rebot.tag-stat-exclude”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
extend-rebot.tag-stat-include
Section titled “extend-rebot.tag-stat-include”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
extend-rebot.tag-stat-link
Section titled “extend-rebot.tag-stat-link”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
extend-rebot.tasks
Section titled “extend-rebot.tasks”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
extend-rebot.tests
Section titled “extend-rebot.tests”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
extend-rebot.timestamp-outputs
Section titled “extend-rebot.timestamp-outputs”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
extend-rebot.xunit
Section titled “extend-rebot.xunit”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
extend-remove-keywords
Section titled “extend-remove-keywords”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 nameextend-remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]# match by tag pattern (same rules as --include)extend-remove-keywords = ["foo", "foo AND bar*"]corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot
extend-set-tag
Section titled “extend-set-tag”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
extend-skip
Section titled “extend-skip”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 robot
extend-skip-on-failure
Section titled “extend-skip-on-failure”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 robot
extend-suites
Section titled “extend-suites”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 pathextend-suites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of robot
extend-tag-doc
Section titled “extend-tag-doc”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
extend-tag-stat-combine
Section titled “extend-tag-stat-combine”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-*", { "tag1 AND tag2" = "My_name" }]corresponds to the --tagstatcombine tags:name * option of robot
extend-tag-stat-exclude
Section titled “extend-tag-stat-exclude”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
extend-tag-stat-include
Section titled “extend-tag-stat-include”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
extend-tag-stat-link
Section titled “extend-tag-stat-link”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
extend-tasks
Section titled “extend-tasks”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
extend-testdoc
Section titled “extend-testdoc”Type: TestDocProfile | None
Changes the [testdoc] options that come before it, from an earlier
configuration file or before a profile: a setting given here
replaces the one of [testdoc], and an extend- setting adds to it.
Examples:
[extend-testdoc]title = "My tests"extend-testdoc.doc
Section titled “extend-testdoc.doc”Type: str | StringExpression | None
Override the documentation of the top level suite.
Examples:
doc = "Very *good* example"# read documentation from a filedoc = "doc_from_file.txt"corresponds to the -D --doc document option of testdoc
extend-testdoc.excludes
Section titled “extend-testdoc.excludes”Type: list[str | StringExpression] | None
Exclude tests by tags.
Examples:
excludes = ["smoke", "wip*"]corresponds to the -e --exclude tag * option of testdoc
extend-testdoc.extend-excludes
Section titled “extend-testdoc.extend-excludes”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
extend-testdoc.extend-includes
Section titled “extend-testdoc.extend-includes”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*" tagsextend-includes = ["foo AND bar*"]corresponds to the -i --include tag * option of testdoc
extend-testdoc.extend-metadata
Section titled “extend-testdoc.extend-metadata”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
extend-testdoc.extend-set-tag
Section titled “extend-testdoc.extend-set-tag”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
extend-testdoc.extend-suites
Section titled “extend-testdoc.extend-suites”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 pathextend-suites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of testdoc
extend-testdoc.extend-tests
Section titled “extend-testdoc.extend-tests”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
extend-testdoc.includes
Section titled “extend-testdoc.includes”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*" tagsincludes = ["foo AND bar*"]corresponds to the -i --include tag * option of testdoc
extend-testdoc.metadata
Section titled “extend-testdoc.metadata”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
extend-testdoc.name
Section titled “extend-testdoc.name”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
extend-testdoc.set-tag
Section titled “extend-testdoc.set-tag”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
extend-testdoc.suites
Section titled “extend-testdoc.suites”Type: list[str | StringExpression] | None
Include suites by name.
Examples:
# match a suite by name or by parent.child pathsuites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of testdoc
extend-testdoc.tests
Section titled “extend-testdoc.tests”Type: list[str | StringExpression] | None
Include tests by name.
Examples:
tests = ["My Test", "Smoke*"]corresponds to the -t --test name * option of testdoc
extend-testdoc.title
Section titled “extend-testdoc.title”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
extend-tests
Section titled “extend-tests”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
extend-variable-files
Section titled “extend-variable-files”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 robot
extend-variables
Section titled “extend-variables”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 robot
extend-wrapper
Section titled “extend-wrapper”Type: list[str | StringExpression] | None
Append extra entries to the wrapper command prefix.
Examples:
extend-wrapper = ["--some-flag"]extensions
Section titled “extensions”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
flatten-keywords
Section titled “flatten-keywords”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
includes
Section titled “includes”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*" tagsincludes = ["foo AND bar*"]corresponds to the -i --include tag * option of robot
languages
Section titled “languages”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
legacy-output
Section titled “legacy-output”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
libdoc
Section titled “libdoc”Type: LibDocProfile | None
Options to be passed to libdoc. Of the settings outside of this
table, libdoc gets only python-path, and this table wins over it.
libdoc.doc-format
Section titled “libdoc.doc-format”Type: Literal['ROBOT', 'MARKDOWN', 'HTML', 'TEXT', 'REST'] | None
Specifies the source documentation format. Possible values are Robot Framework's documentation format, Markdown, HTML, plain text and reStructuredText. The default value can be specified in library source code and the initial default value is ROBOT. Markdown support is new in RF 7.5.
Examples:
doc-format = "REST"corresponds to the -F --docformat ROBOT|MARKDOWN|HTML|TEXT|REST option of libdoc
libdoc.extend-python-path
Section titled “libdoc.extend-python-path”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
libdoc.format
Section titled “libdoc.format”Type: Literal['HTML', 'XML', 'JSON', 'LIBSPEC', 'MARKDOWN'] | None
Specifies whether to generate an HTML output for humans, a machine readable spec file in XML or JSON format, or a Markdown file. The LIBSPEC format means XML spec with documentations converted to HTML. The default format is got from the output file extension. MARKDOWN is new in RF 7.5.
Examples:
format = "HTML"corresponds to the -f --format HTML|XML|JSON|LIBSPEC|MARKDOWN option of libdoc
libdoc.name
Section titled “libdoc.name”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
libdoc.python-path
Section titled “libdoc.python-path”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
libdoc.quiet
Section titled “libdoc.quiet”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
libdoc.spec-doc-format
Section titled “libdoc.spec-doc-format”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. Not applicable with HTML or MARKDOWN outputs.
Examples:
spec-doc-format = "HTML"corresponds to the -s --specdocformat RAW|HTML option of libdoc
libdoc.theme
Section titled “libdoc.theme”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
listeners
Section titled “listeners”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 generationlog = "NONE"corresponds to the -l --log file option of robot
log-level
Section titled “log-level”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
log-title
Section titled “log-title”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
max-assign-length
Section titled “max-assign-length”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
max-error-lines
Section titled “max-error-lines”Type: int | Literal['NONE'] | 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 = 40max-error-lines = "NONE"corresponds to the --maxerrorlines lines option of robot
metadata
Section titled “metadata”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
no-status-rc
Section titled “no-status-rc”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 testsno-status-rc = truecorresponds to the --nostatusrc option of robot
output
Section titled “output”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
output-dir
Section titled “output-dir”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
parse-include
Section titled “parse-include”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
parsers
Section titled “parsers”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.
pre-rebot-modifiers
Section titled “pre-rebot-modifiers”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
pre-run-modifiers
Section titled “pre-run-modifiers”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
profiles
Section titled “profiles”Type: dict[str, RobotProfile] | None
Execution profiles: named sets of settings that are applied on top
of the other settings when the profile is selected, for example
with robotcode -p ci. In a later configuration file, such as
.robot.toml, profiles replaces all profiles of the earlier
files; extend-profiles adds to them.
Examples:
[profiles.ci]description = "CI server"output-dir = "results/ci"python-path
Section titled “python-path”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
randomize
Section titled “randomize”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 seedrandomize = "tests:1234"corresponds to the --randomize all|suites|tests|none option of robot
re-run-failed
Section titled “re-run-failed”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
re-run-failed-suites
Section titled “re-run-failed-suites”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. They win over the settings outside
of this table. Of those, rebot gets the ones that Robot Framework
itself passes from robot to rebot after a run, so not
includes, excludes, tests, suites, parse-include, name,
doc, metadata, set-tag, output, log-level,
timestamp-outputs, console and quiet; run-empty-suite
becomes process-empty-suite.
rebot.console
Section titled “rebot.console”Type: str | Literal['verbose', 'quiet', 'none'] | None
How to report on the console. Built-in consoles:
verbose: show output file paths (default)
quiet: no output except for errors/warnings
none: no output whatsoever Other values are interpreted as a custom console class or module. Argument format is the same as with --listener.
Examples:
console = "quiet"# custom console logger class or moduleconsole = "path/to/Console.py:arg"corresponds to the --console console option of rebot
rebot.console-colors
Section titled “rebot.console-colors”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
rebot.console-links
Section titled “rebot.console-links”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
rebot.doc
Section titled “rebot.doc”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 filedoc = "doc_from_file.txt"corresponds to the -D --doc documentation option of robot
rebot.end-time
Section titled “rebot.end-time”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
rebot.excludes
Section titled “rebot.excludes”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
rebot.expand-keywords
Section titled “rebot.expand-keywords”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
rebot.extend-excludes
Section titled “rebot.extend-excludes”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
rebot.extend-expand-keywords
Section titled “rebot.extend-expand-keywords”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
rebot.extend-flatten-keywords
Section titled “rebot.extend-flatten-keywords”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
rebot.extend-includes
Section titled “rebot.extend-includes”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*" tagsextend-includes = ["foo AND bar*"]corresponds to the -i --include tag * option of robot
rebot.extend-metadata
Section titled “rebot.extend-metadata”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
rebot.extend-parse-include
Section titled “rebot.extend-parse-include”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
rebot.extend-pre-rebot-modifiers
Section titled “rebot.extend-pre-rebot-modifiers”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
rebot.extend-python-path
Section titled “rebot.extend-python-path”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
rebot.extend-remove-keywords
Section titled “rebot.extend-remove-keywords”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 nameextend-remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]# match by tag pattern (same rules as --include)extend-remove-keywords = ["foo", "foo AND bar*"]corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot
rebot.extend-set-tag
Section titled “rebot.extend-set-tag”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
rebot.extend-suites
Section titled “rebot.extend-suites”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 pathextend-suites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of robot
rebot.extend-tag-doc
Section titled “rebot.extend-tag-doc”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
rebot.extend-tag-stat-combine
Section titled “rebot.extend-tag-stat-combine”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-*", { "tag1 AND tag2" = "My_name" }]corresponds to the --tagstatcombine tags:name * option of robot
rebot.extend-tag-stat-exclude
Section titled “rebot.extend-tag-stat-exclude”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
rebot.extend-tag-stat-include
Section titled “rebot.extend-tag-stat-include”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
rebot.extend-tag-stat-link
Section titled “rebot.extend-tag-stat-link”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
rebot.extend-tasks
Section titled “rebot.extend-tasks”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
rebot.extend-tests
Section titled “rebot.extend-tests”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
rebot.flatten-keywords
Section titled “rebot.flatten-keywords”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
rebot.includes
Section titled “rebot.includes”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*" tagsincludes = ["foo AND bar*"]corresponds to the -i --include tag * option of robot
rebot.legacy-output
Section titled “rebot.legacy-output”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
rebot.log
Section titled “rebot.log”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 generationlog = "NONE"corresponds to the -l --log file option of robot
rebot.log-level
Section titled “rebot.log-level”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
rebot.log-title
Section titled “rebot.log-title”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
rebot.merge
Section titled “rebot.merge”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
rebot.metadata
Section titled “rebot.metadata”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
rebot.name
Section titled “rebot.name”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
rebot.no-status-rc
Section titled “rebot.no-status-rc”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 testsno-status-rc = truecorresponds to the --nostatusrc option of robot
rebot.output
Section titled “rebot.output”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
rebot.output-dir
Section titled “rebot.output-dir”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
rebot.parse-include
Section titled “rebot.parse-include”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
rebot.pre-rebot-modifiers
Section titled “rebot.pre-rebot-modifiers”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
rebot.process-empty-suite
Section titled “rebot.process-empty-suite”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
rebot.python-path
Section titled “rebot.python-path”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
rebot.quiet
Section titled “rebot.quiet”Type: bool | Flag | None
Shortcut for --console quiet.
Examples:
quiet = truecorresponds to the --quiet option of rebot
rebot.remove-keywords
Section titled “rebot.remove-keywords”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 nameremove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]# match by tag pattern (same rules as --include)remove-keywords = ["foo", "foo AND bar*"]corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot
rebot.report
Section titled “rebot.report”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
rebot.report-background
Section titled “rebot.report-background”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 coloursreport-background = "green:red:yellow"# pass:fail (skip uses the fail colour)report-background = "#00E:#E00"corresponds to the --reportbackground colors option of robot
rebot.report-title
Section titled “rebot.report-title”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
rebot.rpa
Section titled “rebot.rpa”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
rebot.set-tag
Section titled “rebot.set-tag”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
rebot.split-log
Section titled “rebot.split-log”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
rebot.start-time
Section titled “rebot.start-time”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
rebot.suite-stat-level
Section titled “rebot.suite-stat-level”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
rebot.suites
Section titled “rebot.suites”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 pathsuites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of robot
rebot.tag-doc
Section titled “rebot.tag-doc”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
rebot.tag-stat-combine
Section titled “rebot.tag-stat-combine”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-*", { "tag1 AND tag2" = "My_name" }]corresponds to the --tagstatcombine tags:name * option of robot
rebot.tag-stat-exclude
Section titled “rebot.tag-stat-exclude”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
rebot.tag-stat-include
Section titled “rebot.tag-stat-include”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
rebot.tag-stat-link
Section titled “rebot.tag-stat-link”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
rebot.tasks
Section titled “rebot.tasks”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
rebot.tests
Section titled “rebot.tests”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
rebot.timestamp-outputs
Section titled “rebot.timestamp-outputs”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
rebot.xunit
Section titled “rebot.xunit”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
remove-keywords
Section titled “remove-keywords”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 nameremove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]# match by tag pattern (same rules as --include)remove-keywords = ["foo", "foo AND bar*"]corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot
report
Section titled “report”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
report-background
Section titled “report-background”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 coloursreport-background = "green:red:yellow"# pass:fail (skip uses the fail colour)report-background = "#00E:#E00"corresponds to the --reportbackground colors option of robot
report-title
Section titled “report-title”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
run-empty-suite
Section titled “run-empty-suite”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
set-tag
Section titled “set-tag”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
skip-on-failure
Section titled “skip-on-failure”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
skip-teardown-on-exit
Section titled “skip-teardown-on-exit”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
split-log
Section titled “split-log”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
suite-stat-level
Section titled “suite-stat-level”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
suites
Section titled “suites”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 pathsuites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of robot
tag-doc
Section titled “tag-doc”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
tag-stat-combine
Section titled “tag-stat-combine”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-*", { "tag1 AND tag2" = "My_name" }]corresponds to the --tagstatcombine tags:name * option of robot
tag-stat-exclude
Section titled “tag-stat-exclude”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
tag-stat-include
Section titled “tag-stat-include”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
tag-stat-link
Section titled “tag-stat-link”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
testdoc
Section titled “testdoc”Type: TestDocProfile | None
Options to be passed to testdoc. They win over the settings outside
of this table that testdoc shares with robot, such as name,
metadata or includes.
testdoc.doc
Section titled “testdoc.doc”Type: str | StringExpression | None
Override the documentation of the top level suite.
Examples:
doc = "Very *good* example"# read documentation from a filedoc = "doc_from_file.txt"corresponds to the -D --doc document option of testdoc
testdoc.excludes
Section titled “testdoc.excludes”Type: list[str | StringExpression] | None
Exclude tests by tags.
Examples:
excludes = ["smoke", "wip*"]corresponds to the -e --exclude tag * option of testdoc
testdoc.extend-excludes
Section titled “testdoc.extend-excludes”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
testdoc.extend-includes
Section titled “testdoc.extend-includes”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*" tagsextend-includes = ["foo AND bar*"]corresponds to the -i --include tag * option of testdoc
testdoc.extend-metadata
Section titled “testdoc.extend-metadata”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
testdoc.extend-set-tag
Section titled “testdoc.extend-set-tag”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
testdoc.extend-suites
Section titled “testdoc.extend-suites”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 pathextend-suites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of testdoc
testdoc.extend-tests
Section titled “testdoc.extend-tests”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
testdoc.includes
Section titled “testdoc.includes”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*" tagsincludes = ["foo AND bar*"]corresponds to the -i --include tag * option of testdoc
testdoc.metadata
Section titled “testdoc.metadata”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
testdoc.name
Section titled “testdoc.name”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
testdoc.set-tag
Section titled “testdoc.set-tag”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
testdoc.suites
Section titled “testdoc.suites”Type: list[str | StringExpression] | None
Include suites by name.
Examples:
# match a suite by name or by parent.child pathsuites = ["MySuite", "Tests.SubSuite"]corresponds to the -s --suite name * option of testdoc
testdoc.tests
Section titled “testdoc.tests”Type: list[str | StringExpression] | None
Include tests by name.
Examples:
tests = ["My Test", "Smoke*"]corresponds to the -t --test name * option of testdoc
testdoc.title
Section titled “testdoc.title”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
timestamp-outputs
Section titled “timestamp-outputs”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
Settings of other tools, for example [tool.robotcode-analyze]
for RobotCode's analysis.
tool.robotcode-analyze.cache
Section titled “tool.robotcode-analyze.cache”Type: CacheConfig | None
Defines the cache configuration.
tool.robotcode-analyze.cache.cache-dir
Section titled “tool.robotcode-analyze.cache.cache-dir”Type: str | None
Path to the cache directory. A relative path counts from the project root.
robotcode analyze and the language server keep their cache there, in a .robotcode_cache
folder. For robotcode analyze, the ROBOTCODE_CACHE_DIR environment variable takes precedence.
tool.robotcode-analyze.cache.cache-namespaces
Section titled “tool.robotcode-analyze.cache.cache-namespaces”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 = falsetool.robotcode-analyze.cache.extend-ignore-arguments-for-library
Section titled “tool.robotcode-analyze.cache.extend-ignore-arguments-for-library”Type: list[str] | None
Extend the ignore arguments for library settings.
It takes effect in [tool.robotcode-analyze.extend-cache], where it adds to the list set so far,
for example in robot.toml when used in .robot.toml.
tool.robotcode-analyze.cache.extend-ignored-libraries
Section titled “tool.robotcode-analyze.cache.extend-ignored-libraries”Type: list[str] | None
Extend the ignored libraries setting.
It takes effect in [tool.robotcode-analyze.extend-cache], where it adds to the list set so far,
for example in robot.toml when used in .robot.toml.
tool.robotcode-analyze.cache.extend-ignored-variables
Section titled “tool.robotcode-analyze.cache.extend-ignored-variables”Type: list[str] | None
Extend the ignored variables setting.
It takes effect in [tool.robotcode-analyze.extend-cache], where it adds to the list set so far,
for example in robot.toml when used in .robot.toml.
tool.robotcode-analyze.cache.ignore-arguments-for-library
Section titled “tool.robotcode-analyze.cache.ignore-arguments-for-library”Type: list[str] | None
Specifies a list of libraries for which arguments will be ignored during analysis. This is useful if you have a 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.
tool.robotcode-analyze.cache.ignored-libraries
Section titled “tool.robotcode-analyze.cache.ignored-libraries”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.
tool.robotcode-analyze.cache.ignored-variables
Section titled “tool.robotcode-analyze.cache.ignored-variables”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
tool.robotcode-analyze.code
Section titled “tool.robotcode-analyze.code”Type: CodeConfig | None
Defines the code analysis configuration.
Examples:
[tool.robotcode-analyze.code]exit_code_mask = "error|warn"tool.robotcode-analyze.code.collect-unused
Section titled “tool.robotcode-analyze.code.collect-unused”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 = truetool.robotcode-analyze.code.exit-code-mask
Section titled “tool.robotcode-analyze.code.exit-code-mask”Type: 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"]tool.robotcode-analyze.code.extend-exit-code-mask
Section titled “tool.robotcode-analyze.code.extend-exit-code-mask”Type: list[Literal['error', 'warn', 'warning', 'info', 'information', 'hint', 'all']] | None
Extend the exit code mask setting.
It takes effect in [tool.robotcode-analyze.extend-code], where it adds to the mask set so far,
for example in robot.toml when used in .robot.toml.
tool.robotcode-analyze.exclude-patterns
Section titled “tool.robotcode-analyze.exclude-patterns”Type: list[str] | None
Specifies glob patterns for excluding files and folders from analysing by the language server.
tool.robotcode-analyze.extend-cache
Section titled “tool.robotcode-analyze.extend-cache”Type: CacheConfig | None
Extend the cache configuration.
tool.robotcode-analyze.extend-cache.cache-dir
Section titled “tool.robotcode-analyze.extend-cache.cache-dir”Type: str | None
Path to the cache directory. A relative path counts from the project root.
robotcode analyze and the language server keep their cache there, in a .robotcode_cache
folder. For robotcode analyze, the ROBOTCODE_CACHE_DIR environment variable takes precedence.
tool.robotcode-analyze.extend-cache.cache-namespaces
Section titled “tool.robotcode-analyze.extend-cache.cache-namespaces”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 = falsetool.robotcode-analyze.extend-cache.extend-ignore-arguments-for-library
Section titled “tool.robotcode-analyze.extend-cache.extend-ignore-arguments-for-library”Type: list[str] | None
Extend the ignore arguments for library settings.
It takes effect in [tool.robotcode-analyze.extend-cache], where it adds to the list set so far,
for example in robot.toml when used in .robot.toml.
tool.robotcode-analyze.extend-cache.extend-ignored-libraries
Section titled “tool.robotcode-analyze.extend-cache.extend-ignored-libraries”Type: list[str] | None
Extend the ignored libraries setting.
It takes effect in [tool.robotcode-analyze.extend-cache], where it adds to the list set so far,
for example in robot.toml when used in .robot.toml.
tool.robotcode-analyze.extend-cache.extend-ignored-variables
Section titled “tool.robotcode-analyze.extend-cache.extend-ignored-variables”Type: list[str] | None
Extend the ignored variables setting.
It takes effect in [tool.robotcode-analyze.extend-cache], where it adds to the list set so far,
for example in robot.toml when used in .robot.toml.
tool.robotcode-analyze.extend-cache.ignore-arguments-for-library
Section titled “tool.robotcode-analyze.extend-cache.ignore-arguments-for-library”Type: list[str] | None
Specifies a list of libraries for which arguments will be ignored during analysis. This is useful if you have a 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.
tool.robotcode-analyze.extend-cache.ignored-libraries
Section titled “tool.robotcode-analyze.extend-cache.ignored-libraries”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.
tool.robotcode-analyze.extend-cache.ignored-variables
Section titled “tool.robotcode-analyze.extend-cache.ignored-variables”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
tool.robotcode-analyze.extend-code
Section titled “tool.robotcode-analyze.extend-code”Type: CodeConfig | None
Extend the code analysis configuration.
tool.robotcode-analyze.extend-code.collect-unused
Section titled “tool.robotcode-analyze.extend-code.collect-unused”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 = truetool.robotcode-analyze.extend-code.exit-code-mask
Section titled “tool.robotcode-analyze.extend-code.exit-code-mask”Type: 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"]tool.robotcode-analyze.extend-code.extend-exit-code-mask
Section titled “tool.robotcode-analyze.extend-code.extend-exit-code-mask”Type: list[Literal['error', 'warn', 'warning', 'info', 'information', 'hint', 'all']] | None
Extend the exit code mask setting.
It takes effect in [tool.robotcode-analyze.extend-code], where it adds to the mask set so far,
for example in robot.toml when used in .robot.toml.
tool.robotcode-analyze.extend-exclude-patterns
Section titled “tool.robotcode-analyze.extend-exclude-patterns”Type: list[str] | None
Extend the exclude patterns.
tool.robotcode-analyze.extend-global-library-search-order
Section titled “tool.robotcode-analyze.extend-global-library-search-order”Type: list[str] | None
Extend the global library search order setting.
tool.robotcode-analyze.extend-modifiers
Section titled “tool.robotcode-analyze.extend-modifiers”Type: ModifiersConfig | None
Extends the modifiers for the analysis.
Examples:
[tool.robotcode-analyze.extend_modifiers]ignore = ["VariableNotFound"]extend-hint = ["KeywordNotFound"]extend-information = ["MultipleKeywords"]tool.robotcode-analyze.extend-modifiers.error
Section titled “tool.robotcode-analyze.extend-modifiers.error”Type: list[str] | None
Specifies the diagnostics codes to treat as errors.
Examples:
[tool.robotcode-analyze.modifiers]error = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.extend-modifiers.extend-error
Section titled “tool.robotcode-analyze.extend-modifiers.extend-error”Type: list[str] | None
Extend the diagnostics codes to treat as errors.
It takes effect in [tool.robotcode-analyze.extend-modifiers], where it adds to the codes set so far,
for example in robot.toml when used in .robot.toml.
Examples:
[tool.robotcode-analyze.extend-modifiers]extend-error = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.extend-modifiers.extend-hint
Section titled “tool.robotcode-analyze.extend-modifiers.extend-hint”Type: list[str] | None
Extend the diagnostics codes to treat as hint.
It takes effect in [tool.robotcode-analyze.extend-modifiers], where it adds to the codes set so far,
for example in robot.toml when used in .robot.toml.
Examples:
[tool.robotcode-analyze.extend-modifiers]extend-hint = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.extend-modifiers.extend-ignore
Section titled “tool.robotcode-analyze.extend-modifiers.extend-ignore”Type: list[str] | None
Extend the diagnostics codes to ignore.
It takes effect in [tool.robotcode-analyze.extend-modifiers], where it adds to the codes set so far,
for example in robot.toml when used in .robot.toml.
Examples:
[tool.robotcode-analyze.extend-modifiers]extend-ignore = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.extend-modifiers.extend-information
Section titled “tool.robotcode-analyze.extend-modifiers.extend-information”Type: list[str] | None
Extend the diagnostics codes to treat as information.
It takes effect in [tool.robotcode-analyze.extend-modifiers], where it adds to the codes set so far,
for example in robot.toml when used in .robot.toml.
Examples:
[tool.robotcode-analyze.extend-modifiers]extend-information = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.extend-modifiers.extend-warning
Section titled “tool.robotcode-analyze.extend-modifiers.extend-warning”Type: list[str] | None
Extend the diagnostics codes to treat as warning.
It takes effect in [tool.robotcode-analyze.extend-modifiers], where it adds to the codes set so far,
for example in robot.toml when used in .robot.toml.
Examples:
[tool.robotcode-analyze.extend-modifiers]extend-warning = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.extend-modifiers.hint
Section titled “tool.robotcode-analyze.extend-modifiers.hint”Type: list[str] | None
Specifies the diagnostics codes to treat as hint.
Examples:
[tool.robotcode-analyze.modifiers]hint = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.extend-modifiers.ignore
Section titled “tool.robotcode-analyze.extend-modifiers.ignore”Type: list[str] | None
Specifies the diagnostics codes to ignore.
Examples:
[tool.robotcode-analyze.modifiers]ignore = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.extend-modifiers.information
Section titled “tool.robotcode-analyze.extend-modifiers.information”Type: list[str] | None
Specifies the diagnostics codes to treat as information.
Examples:
[tool.robotcode-analyze.modifiers]information = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.extend-modifiers.warning
Section titled “tool.robotcode-analyze.extend-modifiers.warning”Type: list[str] | None
Specifies the diagnostics codes to treat as warning.
Examples:
[tool.robotcode-analyze.modifiers]warning = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.global-library-search-order
Section titled “tool.robotcode-analyze.global-library-search-order”Type: list[str] | None
Specifies a global search order
for libraries and resources.
This is useful 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.
tool.robotcode-analyze.load-library-timeout
Section titled “tool.robotcode-analyze.load-library-timeout”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 < 2sload_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 = 15tool.robotcode-analyze.modifiers
Section titled “tool.robotcode-analyze.modifiers”Type: ModifiersConfig | None
Defines the modifiers for the analysis.
Examples:
[tool.robotcode-analyze.modifiers]ignore = ["VariableNotFound"]hint = ["KeywordNotFound"]information = ["MultipleKeywords"]tool.robotcode-analyze.modifiers.error
Section titled “tool.robotcode-analyze.modifiers.error”Type: list[str] | None
Specifies the diagnostics codes to treat as errors.
Examples:
[tool.robotcode-analyze.modifiers]error = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.modifiers.extend-error
Section titled “tool.robotcode-analyze.modifiers.extend-error”Type: list[str] | None
Extend the diagnostics codes to treat as errors.
It takes effect in [tool.robotcode-analyze.extend-modifiers], where it adds to the codes set so far,
for example in robot.toml when used in .robot.toml.
Examples:
[tool.robotcode-analyze.extend-modifiers]extend-error = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.modifiers.extend-hint
Section titled “tool.robotcode-analyze.modifiers.extend-hint”Type: list[str] | None
Extend the diagnostics codes to treat as hint.
It takes effect in [tool.robotcode-analyze.extend-modifiers], where it adds to the codes set so far,
for example in robot.toml when used in .robot.toml.
Examples:
[tool.robotcode-analyze.extend-modifiers]extend-hint = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.modifiers.extend-ignore
Section titled “tool.robotcode-analyze.modifiers.extend-ignore”Type: list[str] | None
Extend the diagnostics codes to ignore.
It takes effect in [tool.robotcode-analyze.extend-modifiers], where it adds to the codes set so far,
for example in robot.toml when used in .robot.toml.
Examples:
[tool.robotcode-analyze.extend-modifiers]extend-ignore = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.modifiers.extend-information
Section titled “tool.robotcode-analyze.modifiers.extend-information”Type: list[str] | None
Extend the diagnostics codes to treat as information.
It takes effect in [tool.robotcode-analyze.extend-modifiers], where it adds to the codes set so far,
for example in robot.toml when used in .robot.toml.
Examples:
[tool.robotcode-analyze.extend-modifiers]extend-information = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.modifiers.extend-warning
Section titled “tool.robotcode-analyze.modifiers.extend-warning”Type: list[str] | None
Extend the diagnostics codes to treat as warning.
It takes effect in [tool.robotcode-analyze.extend-modifiers], where it adds to the codes set so far,
for example in robot.toml when used in .robot.toml.
Examples:
[tool.robotcode-analyze.extend-modifiers]extend-warning = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.modifiers.hint
Section titled “tool.robotcode-analyze.modifiers.hint”Type: list[str] | None
Specifies the diagnostics codes to treat as hint.
Examples:
[tool.robotcode-analyze.modifiers]hint = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.modifiers.ignore
Section titled “tool.robotcode-analyze.modifiers.ignore”Type: list[str] | None
Specifies the diagnostics codes to ignore.
Examples:
[tool.robotcode-analyze.modifiers]ignore = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.modifiers.information
Section titled “tool.robotcode-analyze.modifiers.information”Type: list[str] | None
Specifies the diagnostics codes to treat as information.
Examples:
[tool.robotcode-analyze.modifiers]information = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.modifiers.warning
Section titled “tool.robotcode-analyze.modifiers.warning”Type: list[str] | None
Specifies the diagnostics codes to treat as warning.
Examples:
[tool.robotcode-analyze.modifiers]warning = ["VariableNotFound", "multiple-keywords"]tool.robotcode-analyze.semantic-model
Section titled “tool.robotcode-analyze.semantic-model”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 = truevariable-files
Section titled “variable-files”Type: 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
variables
Section titled “variables”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
wrapper
Section titled “wrapper”Type: list[str | StringExpression] | None
Command prefix the test run is executed through (the actual
robotcode command line is appended to it), e.g. to bring up the
services, servers, mocks or session the tests need around them. For
plain environment variables use env instead. The selected
profile's env is applied first, so the wrapper can rely on it.
Examples:
[profiles.integration]wrapper = ["./with-test-services.sh"]# or a ready-made tool, e.g. ["xvfb-run", "-a"] for headless UI testsType: 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
Released under the Apache-2.0. Copyright © 2022-present Daniel Biehl