Skip to content

robot.toml configuration settings

Type: str | None

Description of the profile.

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 = true
paths = ["tests"]

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 disabled
enabled = false
# enabled if the environment variable CI is "true"
enabled = { if = 'environ.get("CI") == "true"' }

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 = true
hidden = { if = 'environ.get("CI") == "true"' }

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"]

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"]

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

Type: Literal['auto', 'on', 'ansi', 'off'] | None

Use colors on console output or not.

auto: use colors when output not redirected (default)

on: always use colors

ansi: like on but use ANSI colors also on Windows

off: disable colors altogether

Examples:

console-colors = "on"

corresponds to the -C --consolecolors auto|on|ansi|off option of robot

Type: Literal['auto', 'off'] | None

Control making paths to results files hyperlinks.

auto: use links when colors are enabled (default)

off: disable links unconditionally

Examples:

console-links = "off"

corresponds to the --consolelinks auto|off option of robot

Type: Literal['auto', 'on', 'off'] | None

Show markers on the console when top level keywords in a test case end. Values have same semantics as with --consolecolors.

Examples:

console-markers = "off"

corresponds to the -K --consolemarkers auto|on|off option of robot

Type: int | None

Width of the console output. Default is 78.

Examples:

console-width = 100

corresponds to the -W --consolewidth chars option of robot

Type: str | StringExpression | None

Debug file written during execution. Not created unless this option is specified.

Examples:

debug-file = "debug.log"

corresponds to the -b --debugfile file option of robot

Type: str | list[str] | None

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 file
doc = "doc_from_file.txt"

corresponds to the -D --doc documentation option of robot

Type: bool | Flag | None

Shortcut for --console dotted.

Examples:

dotted = true

corresponds to the -. --dotted option of robot

Type: bool | Flag | None

Verifies test data and runs tests so that library keywords are not executed.

Examples:

dry-run = true

corresponds to the --dryrun option of robot

Type: dict[str, str | StringExpression] | None

Define environment variables to be set before running tests.

Examples:

[env]
TEST_VAR = "test"
SECRET = "password"

Type: list[str | StringExpression] | None

Select test cases not to run by tag. These tests are not run even if included with --include. Tags are matched using same rules as with --include.

Examples:

excludes = ["smoke", "wip*"]

corresponds to the -e --exclude tag * option of robot

Type: bool | Flag | None

Stops test execution if any error occurs when parsing test data, importing libraries, and so on.

Examples:

exit-on-error = true

corresponds to the --exitonerror option of robot

Type: bool | Flag | None

Stops test execution if any test fails.

Examples:

exit-on-failure = true

corresponds to the -X --exitonfailure option of robot

Type: list[str | NamePattern | TagPattern] | None

Matching keywords will be automatically expanded in the log file. Matching against keyword name or tags work using same rules as with --removekeywords.

Examples:

expand-keywords = ["name:BuiltIn.Log", "tag:expand"]

corresponds to the --expandkeywords name:<pattern>|tag:<pattern> * option of robot

Type: list[str] | None

Append extra arguments to be passed to robot.

Examples:

extend-args = ["-t", "abc"]

Type: dict[str, str | StringExpression] | None

Append extra environment variables to be set before run.

Examples:

[extend-env]
EXTRA_VAR = "value"

Type: list[str | StringExpression] | None

Appends entries to the --exclude option.

Select test cases not to run by tag. These tests are not run even if included with --include. Tags are matched using same rules as with --include.

Examples:

extend-excludes = ["smoke", "wip*"]

corresponds to the -e --exclude tag * option of robot

Type: list[str | NamePattern | TagPattern] | None

Appends entries to the --expandkeywords option.

Matching keywords will be automatically expanded in the log file. Matching against keyword name or tags work using same rules as with --removekeywords.

Examples:

extend-expand-keywords = ["name:BuiltIn.Log", "tag:expand"]

corresponds to the --expandkeywords name:<pattern>|tag:<pattern> * option of robot

Type: list[str | Literal['for', 'while', 'iteration'] | NamePattern | TagPattern] | None

Appends entries to the --flattenkeywords option.

Flattens matching keywords in the generated log file. Matching keywords get all log messages from their child keywords and children are discarded otherwise.

for: flatten FOR loops fully

while: flatten WHILE loops fully

iteration: flatten FOR/WHILE loop iterations

foritem: deprecated alias for iteration

name:<pattern>: flatten matched keywords using same matching rules as with --removekeywords name:<pattern>

tag:<pattern>: flatten matched keywords using same matching rules as with --removekeywords tag:<pattern>

Examples:

extend-flatten-keywords = ["for", "name:Lib.HugeKw", "tag:flatten"]

corresponds to the --flattenkeywords for|while|iteration|name:<pattern>|tag:<pattern> * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --include option.

Select tests by tag. Similarly as name with --test, tag is case and space insensitive and it is possible to use patterns with *, ? and [] as wildcards. Tags and patterns can also be combined together with AND, OR, and NOT operators.

Examples:

# match tests tagged "foo" or "bar*"
extend-includes = ["foo", "bar*"]
# tests with both "foo" and "bar*" tags
extend-includes = ["foo AND bar*"]

corresponds to the -i --include tag * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --language option.

Activate localization. lang can be a name or a code of a built-in language, or a path or a module name of a custom language file.

Examples:

extend-languages = ["German", "Finnish"]

corresponds to the --language lang * option of robot

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"

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

Type: list[str | StringExpression] | None

Appends entries to the --pythonpath option.

Additional locations where to search for libraries and resources.

Examples:

extend-python-path = ["libs/", "/opt/libs", "libraries.zip"]

corresponds to the -P --pythonpath path * option of libdoc

Type: Literal['HTML', 'XML', 'JSON', 'LIBSPEC', '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

Type: str | StringExpression | None

Sets the name of the documented library or resource.

Examples:

name = "My Project"

corresponds to the -n --name name option of libdoc

Type: list[str | StringExpression] | None

Additional locations where to search for libraries and resources.

Examples:

python-path = ["libs/", "/opt/libs", "libraries.zip"]

corresponds to the -P --pythonpath path * option of libdoc

Type: bool | Flag | None

Do not print the path of the generated output file to the console.

Examples:

quiet = true

corresponds to the --quiet option of libdoc

Type: Literal['RAW', 'HTML'] | None

Specifies the documentation format used with XML and JSON spec files. RAW means preserving the original documentation format and HTML means converting documentation to HTML. The default is RAW with XML spec files and HTML with JSON specs and when using the special LIBSPEC format. Not applicable with HTML or MARKDOWN outputs.

Examples:

spec-doc-format = "HTML"

corresponds to the -s --specdocformat RAW|HTML option of libdoc

Type: Literal['DARK', 'LIGHT', 'NONE'] | None

Use dark or light HTML theme. If this option is not used, or the value is NONE, the theme is selected based on the browser color scheme. New in RF 6.0.

Examples:

theme = "DARK"

corresponds to the --theme DARK|LIGHT|NONE option of libdoc

Type: dict[str, list[str | StringExpression]] | None

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

Type: dict[str, str | StringExpression] | None

Appends entries to the --metadata option.

Set metadata of the top level suite. Value can contain formatting and be read from a file similarly as --doc. Example: --metadata Version:1.2

Examples:

[extend-metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"

corresponds to the -M --metadata name:value * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --parseinclude option.

Parse only files matching pattern. It can be:

  • a file name or pattern like example.robot or *.robot to parse all files matching that name,
  • a file path like path/to/example.robot, or
  • a directory path like path/to/example to parse all files in that directory, recursively.

Examples:

extend-parse-include = ["*.robot", "tests/**/*.robot"]

corresponds to the -I --parseinclude pattern * option of robot

Type: dict[str, list[str | StringExpression]] | None

Appends entries to the --parser option.

Custom parser class or module. Parser classes accept arguments the same way as with --listener.

Examples:

[extend-parsers]
MyParser = []
"path/to/MyParser.py" = ["arg1", "arg2"]

corresponds to the --parser parser * option of robot

Type: str | list[str] | None

Append extra entries to the paths argument.

Examples:

extend-paths = ["tests"]

Type: dict[str, list[str | StringExpression]] | None

Appends entries to the --prerebotmodifier option.

Class to programmatically modify the result model before creating reports and logs. Accepts arguments the same way as with --listener.

Examples:

[extend-pre-rebot-modifiers]
"path/to/Modifier.py" = ["arg1"]

corresponds to the --prerebotmodifier modifier * option of robot

Type: dict[str, list[str | StringExpression]] | None

Appends entries to the --prerunmodifier option.

Class to programmatically modify the suite structure before execution. Accepts arguments the same way as with --listener.

Examples:

[extend-pre-run-modifiers]
MyModifier = []
"path/to/Modifier.py" = ["arg1"]

corresponds to the --prerunmodifier modifier * option of robot

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" }

Type: list[str | StringExpression] | None

Appends entries to the --pythonpath option.

Additional locations (directories, ZIPs) where to search libraries and other extensions when they are imported. Multiple paths can be given by separating them with a colon (:) or by using this option several times. Given path can also be a glob pattern matching multiple paths.

Examples:

extend-python-path = ["libs/", "/opt/libs", "libraries.zip"]

corresponds to the -P --pythonpath path * option of robot

Type: 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"

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 module
console = "path/to/Console.py:arg"

corresponds to the --console console option of rebot

Type: Literal['auto', 'on', 'ansi', 'off'] | None

Use colors on console output or not.

auto: use colors when output not redirected (default)

on: always use colors

ansi: like on but use ANSI colors also on Windows

off: disable colors altogether

Examples:

console-colors = "on"

corresponds to the -C --consolecolors auto|on|ansi|off option of robot

Type: Literal['auto', 'off'] | None

Control making paths to results files hyperlinks.

auto: use links when colors are enabled (default)

off: disable links unconditionally

Examples:

console-links = "off"

corresponds to the --consolelinks auto|off option of robot

Type: str | StringExpression | None

Set the documentation of the top level suite. Simple formatting is supported (e.g. bold). If the documentation contains spaces, it must be quoted. If the value is path to an existing file, actual documentation is read from that file.

Examples:

doc = "Very *good* example"
# read documentation from a file
doc = "doc_from_file.txt"

corresponds to the -D --doc documentation option of robot

Type: str | StringExpression | None

Same as --starttime but for end time. If both options are used, elapsed time of the suite is calculated based on them. For combined suites, it is otherwise calculated by adding elapsed times of the combined suites together.

Examples:

end-time = "2024-12-15 14:35:42.123"

corresponds to the --endtime timestamp option of rebot

Type: list[str | StringExpression] | None

Select test cases not to run by tag. These tests are not run even if included with --include. Tags are matched using same rules as with --include.

Examples:

excludes = ["smoke", "wip*"]

corresponds to the -e --exclude tag * option of robot

Type: list[str | NamePattern | TagPattern] | None

Matching keywords will be automatically expanded in the log file. Matching against keyword name or tags work using same rules as with --removekeywords.

Examples:

expand-keywords = ["name:BuiltIn.Log", "tag:expand"]

corresponds to the --expandkeywords name:<pattern>|tag:<pattern> * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --exclude option.

Select test cases not to run by tag. These tests are not run even if included with --include. Tags are matched using same rules as with --include.

Examples:

extend-excludes = ["smoke", "wip*"]

corresponds to the -e --exclude tag * option of robot

Type: list[str | NamePattern | TagPattern] | None

Appends entries to the --expandkeywords option.

Matching keywords will be automatically expanded in the log file. Matching against keyword name or tags work using same rules as with --removekeywords.

Examples:

extend-expand-keywords = ["name:BuiltIn.Log", "tag:expand"]

corresponds to the --expandkeywords name:<pattern>|tag:<pattern> * option of robot

Type: list[str | Literal['for', 'while', 'iteration'] | NamePattern | TagPattern] | None

Appends entries to the --flattenkeywords option.

Flattens matching keywords in the generated log file. Matching keywords get all log messages from their child keywords and children are discarded otherwise.

for: flatten FOR loops fully

while: flatten WHILE loops fully

iteration: flatten FOR/WHILE loop iterations

foritem: deprecated alias for iteration

name:<pattern>: flatten matched keywords using same matching rules as with --removekeywords name:<pattern>

tag:<pattern>: flatten matched keywords using same matching rules as with --removekeywords tag:<pattern>

Examples:

extend-flatten-keywords = ["for", "name:Lib.HugeKw", "tag:flatten"]

corresponds to the --flattenkeywords for|while|iteration|name:<pattern>|tag:<pattern> * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --include option.

Select tests by tag. Similarly as name with --test, tag is case and space insensitive and it is possible to use patterns with *, ? and [] as wildcards. Tags and patterns can also be combined together with AND, OR, and NOT operators.

Examples:

# match tests tagged "foo" or "bar*"
extend-includes = ["foo", "bar*"]
# tests with both "foo" and "bar*" tags
extend-includes = ["foo AND bar*"]

corresponds to the -i --include tag * option of robot

Type: dict[str, str | StringExpression] | None

Appends entries to the --metadata option.

Set metadata of the top level suite. Value can contain formatting and be read from a file similarly as --doc. Example: --metadata Version:1.2

Examples:

[extend-metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"

corresponds to the -M --metadata name:value * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --parseinclude option.

Parse only files matching pattern. It can be:

  • a file name or pattern like example.robot or *.robot to parse all files matching that name,
  • a file path like path/to/example.robot, or
  • a directory path like path/to/example to parse all files in that directory, recursively.

Examples:

extend-parse-include = ["*.robot", "tests/**/*.robot"]

corresponds to the -I --parseinclude pattern * option of robot

Type: dict[str, list[str | StringExpression]] | None

Appends entries to the --prerebotmodifier option.

Class to programmatically modify the result model before creating reports and logs. Accepts arguments the same way as with --listener.

Examples:

[extend-pre-rebot-modifiers]
"path/to/Modifier.py" = ["arg1"]

corresponds to the --prerebotmodifier modifier * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --pythonpath option.

Additional locations (directories, ZIPs) where to search libraries and other extensions when they are imported. Multiple paths can be given by separating them with a colon (:) or by using this option several times. Given path can also be a glob pattern matching multiple paths.

Examples:

extend-python-path = ["libs/", "/opt/libs", "libraries.zip"]

corresponds to the -P --pythonpath path * option of robot

Type: list[str | Literal['all', 'passed', 'for', 'wuks'] | NamePattern | TagPattern] | None

Appends entries to the --removekeywords option.

Remove keyword data from the generated log file. Keywords containing warnings are not removed except in the all mode.

all: remove data from all keywords

passed: remove data only from keywords in passed test cases and suites

for: remove passed iterations from FOR loops

while: remove passed iterations from WHILE loops

wuks: remove all but the last failing keyword inside BuiltIn.Wait Until Keyword Succeeds

name:<pattern>: remove data from keywords that match the given pattern. The pattern is matched against the full name of the keyword (e.g. 'MyLib.Keyword', 'resource.Second Keyword'), is case, space, and underscore insensitive, and may contain *, ? and [] wildcards.

tag:<pattern>: remove data from keywords that match the given pattern. Tags are case and space insensitive and patterns can contain *, ? and [] wildcards. Tags and patterns can also be combined together with AND, OR, and NOT operators.

Examples:

# match by keyword name
extend-remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]
# match by tag pattern (same rules as --include)
extend-remove-keywords = ["foo", "foo AND bar*"]

corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --settag option.

Sets given tag(s) to all executed tests.

Examples:

extend-set-tag = ["my-suite-tag", "ci"]

corresponds to the -G --settag tag * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --suite option.

Select suites by name. When this option is used with --test, --include or --exclude, only tests in matching suites and also matching other filtering criteria are selected. Name can be a simple pattern similarly as with --test and it can contain parent name separated with a dot. For example, -s X.Y selects suite Y only if its parent is X.

Examples:

# match a suite by name or by parent.child path
extend-suites = ["MySuite", "Tests.SubSuite"]

corresponds to the -s --suite name * option of robot

Type: dict[str, str | StringExpression] | None

Appends entries to the --tagdoc option.

Add documentation to tags matching the given pattern. Documentation is shown in Test Details and also as a tooltip in Statistics by Tag. Pattern can use *, ? and [] as wildcards like --test.

Examples:

[extend-tag-doc]
mytag = "Example"
"owner-*" = "Original author"

corresponds to the --tagdoc pattern:doc * option of robot

Type: list[str | dict[str, str]] | None

Appends entries to the --tagstatcombine option.

Create combined statistics based on tags. These statistics are added into Statistics by Tag. If the optional name is not given, name of the combined tag is got from the specified tags. Tags are matched using the same rules as with --include.

Examples:

extend-tag-stat-combine = ["requirement-*", { "tag1 AND tag2" = "My_name" }]

corresponds to the --tagstatcombine tags:name * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --tagstatexclude option.

Exclude matching tags from Statistics by Tag. This option can be used with --tagstatinclude similarly as --exclude is used with --include.

Examples:

extend-tag-stat-exclude = ["bug-*"]

corresponds to the --tagstatexclude tag * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --tagstatinclude option.

Include only matching tags in Statistics by Tag in log and report. By default all tags are shown. Given tag can be a pattern like with --include.

Examples:

extend-tag-stat-include = ["owner-*", "feature-*"]

corresponds to the --tagstatinclude tag * option of robot

Type: dict[str, str | StringExpression] | None

Appends entries to the --tagstatlink option.

Add external links into Statistics by Tag. Pattern can use *, ? and [] as wildcards like --test. Characters matching to * and ? wildcards can be used in link and title with syntax %N, where N is index of the match (starting from 1).

Examples:

[extend-tag-stat-link]
mytag = "http://my.domain:Title"
"bug-*" = "http://url/id=%1:Issue Tracker"

corresponds to the --tagstatlink pattern:link:title * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --task option.

Alias to --test. Especially applicable with --rpa.

Examples:

extend-tasks = ["My Task", "Smoke*"]

corresponds to the --task name * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --test option.

Select tests by name or by long name containing also parent suite name like Parent.Test. Name is case and space insensitive and it can also be a simple pattern where * matches anything, ? matches any single character, and [chars] matches one character in brackets.

Examples:

extend-tests = ["My Test", "Smoke*"]

corresponds to the -t --test name * option of robot

Type: list[str | Literal['for', 'while', 'iteration'] | NamePattern | TagPattern] | None

Flattens matching keywords in the generated log file. Matching keywords get all log messages from their child keywords and children are discarded otherwise.

for: flatten FOR loops fully

while: flatten WHILE loops fully

iteration: flatten FOR/WHILE loop iterations

foritem: deprecated alias for iteration

name:<pattern>: flatten matched keywords using same matching rules as with --removekeywords name:<pattern>

tag:<pattern>: flatten matched keywords using same matching rules as with --removekeywords tag:<pattern>

Examples:

flatten-keywords = ["for", "name:Lib.HugeKw", "tag:flatten"]

corresponds to the --flattenkeywords for|while|iteration|name:<pattern>|tag:<pattern> * option of robot

Type: list[str | StringExpression] | None

Select tests by tag. Similarly as name with --test, tag is case and space insensitive and it is possible to use patterns with *, ? and [] as wildcards. Tags and patterns can also be combined together with AND, OR, and NOT operators.

Examples:

# match tests tagged "foo" or "bar*"
includes = ["foo", "bar*"]
# tests with both "foo" and "bar*" tags
includes = ["foo AND bar*"]

corresponds to the -i --include tag * option of robot

Type: bool | Flag | None

Create XML output file in format compatible with Robot Framework 6.x and earlier.

Examples:

legacy-output = true

corresponds to the --legacyoutput option of robot

Type: str | StringExpression | None

HTML log file. Can be disabled by giving a special value NONE. Default: log.html

Examples:

log = "mylog.html"
# disable log file generation
log = "NONE"

corresponds to the -l --log file option of robot

Type: str | StringExpression | None

Threshold for selecting messages. Available levels: TRACE (default), DEBUG, INFO, WARN, NONE (no msgs). Use syntax LOGLEVEL:DEFAULT to define the default visible log level in log files.

Examples:

log-level = "DEBUG"
# explicit visible level (default: INFO)
log-level = "DEBUG:INFO"

corresponds to the -L --loglevel level option of rebot

Type: str | StringExpression | None

Title for the generated log file. The default title is <SuiteName> Log.

Examples:

log-title = "My Project Log"

corresponds to the --logtitle title option of robot

Type: bool | Flag | None

When combining results, merge outputs together instead of putting them under a new top level suite.

Example: rebot --merge orig.xml rerun.xml

Examples:

merge = true

corresponds to the -R --merge option of rebot

Type: dict[str, str | StringExpression] | None

Set metadata of the top level suite. Value can contain formatting and be read from a file similarly as --doc. Example: --metadata Version:1.2

Examples:

[metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"

corresponds to the -M --metadata name:value * option of robot

Type: str | StringExpression | None

Set the name of the top level suite. By default the name is created based on the executed file or directory.

Examples:

name = "My Project"

corresponds to the -N --name name option of robot

Type: bool | Flag | None

Sets the return code to zero regardless of failures in test cases. Error codes are returned normally.

Examples:

# always exit 0 regardless of failed tests
no-status-rc = true

corresponds to the --nostatusrc option of robot

Type: str | StringExpression | None

XML output file. Not created unless this option is specified. Given path, similarly as paths given to --log, --report and --xunit, is relative to --outputdir unless given as an absolute path.

Examples:

output = "output.xml"

corresponds to the -o --output file option of rebot

Type: str | StringExpression | None

Where to create output files. The default is the directory where tests are run from and the given path is considered relative to that unless it is absolute.

Examples:

output-dir = "results"

corresponds to the -d --outputdir dir option of robot

Type: list[str | StringExpression] | None

Parse only files matching pattern. It can be:

  • a file name or pattern like example.robot or *.robot to parse all files matching that name,
  • a file path like path/to/example.robot, or
  • a directory path like path/to/example to parse all files in that directory, recursively.

Examples:

parse-include = ["*.robot", "tests/**/*.robot"]

corresponds to the -I --parseinclude pattern * option of robot

Type: dict[str, list[str | StringExpression]] | None

Class to programmatically modify the result model before creating reports and logs. Accepts arguments the same way as with --listener.

Examples:

[pre-rebot-modifiers]
"path/to/Modifier.py" = ["arg1"]

corresponds to the --prerebotmodifier modifier * option of robot

Type: bool | Flag | None

Processes output also if the top level suite is empty. Useful e.g. with --include/--exclude when it is not an error that there are no matches.

Examples:

process-empty-suite = true

corresponds to the --processemptysuite option of rebot

Type: list[str | StringExpression] | None

Additional locations (directories, ZIPs) where to search libraries and other extensions when they are imported. Multiple paths can be given by separating them with a colon (:) or by using this option several times. Given path can also be a glob pattern matching multiple paths.

Examples:

python-path = ["libs/", "/opt/libs", "libraries.zip"]

corresponds to the -P --pythonpath path * option of robot

Type: bool | Flag | None

Shortcut for --console quiet.

Examples:

quiet = true

corresponds to the --quiet option of rebot

Type: list[str | Literal['all', 'passed', 'for', 'wuks'] | NamePattern | TagPattern] | None

Remove keyword data from the generated log file. Keywords containing warnings are not removed except in the all mode.

all: remove data from all keywords

passed: remove data only from keywords in passed test cases and suites

for: remove passed iterations from FOR loops

while: remove passed iterations from WHILE loops

wuks: remove all but the last failing keyword inside BuiltIn.Wait Until Keyword Succeeds

name:<pattern>: remove data from keywords that match the given pattern. The pattern is matched against the full name of the keyword (e.g. 'MyLib.Keyword', 'resource.Second Keyword'), is case, space, and underscore insensitive, and may contain *, ? and [] wildcards.

tag:<pattern>: remove data from keywords that match the given pattern. Tags are case and space insensitive and patterns can contain *, ? and [] wildcards. Tags and patterns can also be combined together with AND, OR, and NOT operators.

Examples:

# match by keyword name
remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]
# match by tag pattern (same rules as --include)
remove-keywords = ["foo", "foo AND bar*"]

corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot

Type: str | StringExpression | None

HTML report file. Can be disabled with NONE similarly as --log. Default: report.html

Examples:

report = "report.html"

corresponds to the -r --report file option of robot

Type: str | StringExpression | None

Background colors to use in the report file. Given in format passed:failed:skipped where the :skipped part can be omitted. Both color names and codes work.

Examples:

# pass:fail:skip colours
report-background = "green:red:yellow"
# pass:fail (skip uses the fail colour)
report-background = "#00E:#E00"

corresponds to the --reportbackground colors option of robot

Type: str | StringExpression | None

Title for the generated report file. The default title is <SuiteName> Report.

Examples:

report-title = "My Project Report"

corresponds to the --reporttitle title option of robot

Type: bool | Flag | None

Turn on the generic automation mode. Mainly affects terminology so that "test" is replaced with "task" in logs and reports. By default the mode is got from test/task header in data files.

Examples:

rpa = true

corresponds to the --rpa option of robot

Type: list[str | StringExpression] | None

Sets given tag(s) to all executed tests.

Examples:

set-tag = ["my-suite-tag", "ci"]

corresponds to the -G --settag tag * option of robot

Type: bool | Flag | None

Split the log file into smaller pieces that open in browsers transparently.

Examples:

split-log = true

corresponds to the --splitlog option of robot

Type: str | StringExpression | None

Set execution start time. Timestamp must be given in format 2007-10-01 15:12:42.268 where all separators are optional (e.g. 20071001151242268 is ok too) and parts from milliseconds to hours can be omitted if they are zero (e.g. 2007-10-01). This can be used to override start time of a single suite or to set start time for a combined suite, which would otherwise be N/A.

Examples:

start-time = "2024-12-15 14:30:00.000"

corresponds to the --starttime timestamp option of rebot

Type: int | None

How many levels to show in Statistics by Suite in log and report. By default all suite levels are shown. Example: --suitestatlevel 3

Examples:

suite-stat-level = 2

corresponds to the --suitestatlevel level option of robot

Type: list[str | StringExpression] | None

Select suites by name. When this option is used with --test, --include or --exclude, only tests in matching suites and also matching other filtering criteria are selected. Name can be a simple pattern similarly as with --test and it can contain parent name separated with a dot. For example, -s X.Y selects suite Y only if its parent is X.

Examples:

# match a suite by name or by parent.child path
suites = ["MySuite", "Tests.SubSuite"]

corresponds to the -s --suite name * option of robot

Type: dict[str, str | StringExpression] | None

Add documentation to tags matching the given pattern. Documentation is shown in Test Details and also as a tooltip in Statistics by Tag. Pattern can use *, ? and [] as wildcards like --test.

Examples:

[tag-doc]
mytag = "Example"
"owner-*" = "Original author"

corresponds to the --tagdoc pattern:doc * option of robot

Type: list[str | dict[str, str]] | None

Create combined statistics based on tags. These statistics are added into Statistics by Tag. If the optional name is not given, name of the combined tag is got from the specified tags. Tags are matched using the same rules as with --include.

Examples:

tag-stat-combine = ["requirement-*", { "tag1 AND tag2" = "My_name" }]

corresponds to the --tagstatcombine tags:name * option of robot

Type: list[str | StringExpression] | None

Exclude matching tags from Statistics by Tag. This option can be used with --tagstatinclude similarly as --exclude is used with --include.

Examples:

tag-stat-exclude = ["bug-*"]

corresponds to the --tagstatexclude tag * option of robot

Type: list[str | StringExpression] | None

Include only matching tags in Statistics by Tag in log and report. By default all tags are shown. Given tag can be a pattern like with --include.

Examples:

tag-stat-include = ["owner-*", "feature-*"]

corresponds to the --tagstatinclude tag * option of robot

Type: dict[str, str | StringExpression] | None

Add external links into Statistics by Tag. Pattern can use *, ? and [] as wildcards like --test. Characters matching to * and ? wildcards can be used in link and title with syntax %N, where N is index of the match (starting from 1).

Examples:

[tag-stat-link]
mytag = "http://my.domain:Title"
"bug-*" = "http://url/id=%1:Issue Tracker"

corresponds to the --tagstatlink pattern:link:title * option of robot

Type: list[str | StringExpression] | None

Alias to --test. Especially applicable with --rpa.

Examples:

tasks = ["My Task", "Smoke*"]

corresponds to the --task name * option of robot

Type: list[str | StringExpression] | None

Select tests by name or by long name containing also parent suite name like Parent.Test. Name is case and space insensitive and it can also be a simple pattern where * matches anything, ? matches any single character, and [chars] matches one character in brackets.

Examples:

tests = ["My Test", "Smoke*"]

corresponds to the -t --test name * option of robot

Type: bool | Flag | None

When this option is used, timestamp in a format YYYYMMDD-hhmmss is added to all generated output files between their basename and extension. For example -T -o output.xml -r report.html -l none creates files like output-20070503-154410.xml and report-20070503-154410.html.

Examples:

timestamp-outputs = true

corresponds to the -T --timestampoutputs option of robot

Type: str | StringExpression | None

xUnit compatible result file. Not created unless this option is specified.

Examples:

xunit = "xunit.xml"

corresponds to the -x --xunit file option of robot

Type: list[str | Literal['all', 'passed', 'for', 'wuks'] | NamePattern | TagPattern] | None

Appends entries to the --removekeywords option.

Remove keyword data from the generated log file. Keywords containing warnings are not removed except in the all mode.

all: remove data from all keywords

passed: remove data only from keywords in passed test cases and suites

for: remove passed iterations from FOR loops

while: remove passed iterations from WHILE loops

wuks: remove all but the last failing keyword inside BuiltIn.Wait Until Keyword Succeeds

name:<pattern>: remove data from keywords that match the given pattern. The pattern is matched against the full name of the keyword (e.g. 'MyLib.Keyword', 'resource.Second Keyword'), is case, space, and underscore insensitive, and may contain *, ? and [] wildcards.

tag:<pattern>: remove data from keywords that match the given pattern. Tags are case and space insensitive and patterns can contain *, ? and [] wildcards. Tags and patterns can also be combined together with AND, OR, and NOT operators.

Examples:

# match by keyword name
extend-remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]
# match by tag pattern (same rules as --include)
extend-remove-keywords = ["foo", "foo AND bar*"]

corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --settag option.

Sets given tag(s) to all executed tests.

Examples:

extend-set-tag = ["my-suite-tag", "ci"]

corresponds to the -G --settag tag * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --skip option.

Tests having given tag will be skipped. Tag can be a pattern.

Examples:

extend-skip = ["bug-*", "wip"]

corresponds to the --skip tag * option of robot

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

Type: list[str | StringExpression] | None

Appends entries to the --suite option.

Select suites by name. When this option is used with --test, --include or --exclude, only tests in matching suites and also matching other filtering criteria are selected. Name can be a simple pattern similarly as with --test and it can contain parent name separated with a dot. For example, -s X.Y selects suite Y only if its parent is X.

Examples:

# match a suite by name or by parent.child path
extend-suites = ["MySuite", "Tests.SubSuite"]

corresponds to the -s --suite name * option of robot

Type: dict[str, str | StringExpression] | None

Appends entries to the --tagdoc option.

Add documentation to tags matching the given pattern. Documentation is shown in Test Details and also as a tooltip in Statistics by Tag. Pattern can use *, ? and [] as wildcards like --test.

Examples:

[extend-tag-doc]
mytag = "Example"
"owner-*" = "Original author"

corresponds to the --tagdoc pattern:doc * option of robot

Type: list[str | dict[str, str]] | None

Appends entries to the --tagstatcombine option.

Create combined statistics based on tags. These statistics are added into Statistics by Tag. If the optional name is not given, name of the combined tag is got from the specified tags. Tags are matched using the same rules as with --include.

Examples:

extend-tag-stat-combine = ["requirement-*", { "tag1 AND tag2" = "My_name" }]

corresponds to the --tagstatcombine tags:name * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --tagstatexclude option.

Exclude matching tags from Statistics by Tag. This option can be used with --tagstatinclude similarly as --exclude is used with --include.

Examples:

extend-tag-stat-exclude = ["bug-*"]

corresponds to the --tagstatexclude tag * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --tagstatinclude option.

Include only matching tags in Statistics by Tag in log and report. By default all tags are shown. Given tag can be a pattern like with --include.

Examples:

extend-tag-stat-include = ["owner-*", "feature-*"]

corresponds to the --tagstatinclude tag * option of robot

Type: dict[str, str | StringExpression] | None

Appends entries to the --tagstatlink option.

Add external links into Statistics by Tag. Pattern can use *, ? and [] as wildcards like --test. Characters matching to * and ? wildcards can be used in link and title with syntax %N, where N is index of the match (starting from 1).

Examples:

[extend-tag-stat-link]
mytag = "http://my.domain:Title"
"bug-*" = "http://url/id=%1:Issue Tracker"

corresponds to the --tagstatlink pattern:link:title * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --task option.

Alias to --test. Especially applicable with --rpa.

Examples:

extend-tasks = ["My Task", "Smoke*"]

corresponds to the --task name * option of robot

Type: 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"

Type: str | StringExpression | None

Override the documentation of the top level suite.

Examples:

doc = "Very *good* example"
# read documentation from a file
doc = "doc_from_file.txt"

corresponds to the -D --doc document option of testdoc

Type: list[str | StringExpression] | None

Exclude tests by tags.

Examples:

excludes = ["smoke", "wip*"]

corresponds to the -e --exclude tag * option of testdoc

Type: list[str | StringExpression] | None

Appends entries to the --exclude option.

Exclude tests by tags.

Examples:

extend-excludes = ["smoke", "wip*"]

corresponds to the -e --exclude tag * option of testdoc

Type: list[str | StringExpression] | None

Appends entries to the --include option.

Include tests by tags.

Examples:

# match tests tagged "foo" or "bar*"
extend-includes = ["foo", "bar*"]
# tests with both "foo" and "bar*" tags
extend-includes = ["foo AND bar*"]

corresponds to the -i --include tag * option of testdoc

Type: dict[str, str | StringExpression] | None

Appends entries to the --metadata option.

Set/override metadata of the top level suite.

Examples:

[extend-metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"

corresponds to the -M --metadata name:value * option of testdoc

Type: list[str | StringExpression] | None

Appends entries to the --settag option.

Set given tag(s) to all test cases.

Examples:

extend-set-tag = ["my-suite-tag", "ci"]

corresponds to the -G --settag tag * option of testdoc

Type: list[str | StringExpression] | None

Appends entries to the --suite option.

Include suites by name.

Examples:

# match a suite by name or by parent.child path
extend-suites = ["MySuite", "Tests.SubSuite"]

corresponds to the -s --suite name * option of testdoc

Type: list[str | StringExpression] | None

Appends entries to the --test option.

Include tests by name.

Examples:

extend-tests = ["My Test", "Smoke*"]

corresponds to the -t --test name * option of testdoc

Type: list[str | StringExpression] | None

Include tests by tags.

Examples:

# match tests tagged "foo" or "bar*"
includes = ["foo", "bar*"]
# tests with both "foo" and "bar*" tags
includes = ["foo AND bar*"]

corresponds to the -i --include tag * option of testdoc

Type: dict[str, str | StringExpression] | None

Set/override metadata of the top level suite.

Examples:

[metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"

corresponds to the -M --metadata name:value * option of testdoc

Type: str | StringExpression | None

Override the name of the top level suite.

Examples:

name = "My Project"

corresponds to the -N --name name option of testdoc

Type: list[str | StringExpression] | None

Set given tag(s) to all test cases.

Examples:

set-tag = ["my-suite-tag", "ci"]

corresponds to the -G --settag tag * option of testdoc

Type: list[str | StringExpression] | None

Include suites by name.

Examples:

# match a suite by name or by parent.child path
suites = ["MySuite", "Tests.SubSuite"]

corresponds to the -s --suite name * option of testdoc

Type: list[str | StringExpression] | None

Include tests by name.

Examples:

tests = ["My Test", "Smoke*"]

corresponds to the -t --test name * option of testdoc

Type: str | StringExpression | None

Set the title of the generated documentation. Underscores in the title are converted to spaces. The default title is the name of the top level suite.

Examples:

title = "My Library"

corresponds to the -T --title title option of testdoc

Type: list[str | StringExpression] | None

Appends entries to the --test option.

Select tests by name or by long name containing also parent suite name like Parent.Test. Name is case and space insensitive and it can also be a simple pattern where * matches anything, ? matches any single character, and [chars] matches one character in brackets.

Examples:

extend-tests = ["My Test", "Smoke*"]

corresponds to the -t --test name * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --variablefile option.

Python or YAML file file to read variables from. Possible arguments to the variable file can be given after the path using colon or semicolon as separator.

Examples:

extend-variable-files = ["path/vars.yaml", "environment.py:testing"]

corresponds to the -V --variablefile path * option of robot

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

Type: list[str | StringExpression] | None

Append extra entries to the wrapper command prefix.

Examples:

extend-wrapper = ["--some-flag"]

Type: str | StringExpression | None

Parse only files with this extension when executing a directory. Has no effect when running individual files or when using resource files. If more than one extension is needed, separate them with a colon.

Only *.robot files are parsed by default.

Examples:

extensions = "txt"
# parse multiple extensions (separator: colon)
extensions = "robot:txt"

corresponds to the -F --extension value option of robot

Type: list[str | Literal['for', 'while', 'iteration'] | NamePattern | TagPattern] | None

Flattens matching keywords in the generated log file. Matching keywords get all log messages from their child keywords and children are discarded otherwise.

for: flatten FOR loops fully

while: flatten WHILE loops fully

iteration: flatten FOR/WHILE loop iterations

foritem: deprecated alias for iteration

name:<pattern>: flatten matched keywords using same matching rules as with --removekeywords name:<pattern>

tag:<pattern>: flatten matched keywords using same matching rules as with --removekeywords tag:<pattern>

Examples:

flatten-keywords = ["for", "name:Lib.HugeKw", "tag:flatten"]

corresponds to the --flattenkeywords for|while|iteration|name:<pattern>|tag:<pattern> * option of robot

Type: list[str | StringExpression] | None

Select tests by tag. Similarly as name with --test, tag is case and space insensitive and it is possible to use patterns with *, ? and [] as wildcards. Tags and patterns can also be combined together with AND, OR, and NOT operators.

Examples:

# match tests tagged "foo" or "bar*"
includes = ["foo", "bar*"]
# tests with both "foo" and "bar*" tags
includes = ["foo AND bar*"]

corresponds to the -i --include tag * option of robot

Type: list[str | StringExpression] | None

Activate localization. lang can be a name or a code of a built-in language, or a path or a module name of a custom language file.

Examples:

languages = ["German", "Finnish"]

corresponds to the --language lang * option of robot

Type: bool | Flag | None

Create XML output file in format compatible with Robot Framework 6.x and earlier.

Examples:

legacy-output = true

corresponds to the --legacyoutput option of robot

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.

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

Type: list[str | StringExpression] | None

Appends entries to the --pythonpath option.

Additional locations where to search for libraries and resources.

Examples:

extend-python-path = ["libs/", "/opt/libs", "libraries.zip"]

corresponds to the -P --pythonpath path * option of libdoc

Type: Literal['HTML', 'XML', 'JSON', 'LIBSPEC', '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

Type: str | StringExpression | None

Sets the name of the documented library or resource.

Examples:

name = "My Project"

corresponds to the -n --name name option of libdoc

Type: list[str | StringExpression] | None

Additional locations where to search for libraries and resources.

Examples:

python-path = ["libs/", "/opt/libs", "libraries.zip"]

corresponds to the -P --pythonpath path * option of libdoc

Type: bool | Flag | None

Do not print the path of the generated output file to the console.

Examples:

quiet = true

corresponds to the --quiet option of libdoc

Type: Literal['RAW', 'HTML'] | None

Specifies the documentation format used with XML and JSON spec files. RAW means preserving the original documentation format and HTML means converting documentation to HTML. The default is RAW with XML spec files and HTML with JSON specs and when using the special LIBSPEC format. Not applicable with HTML or MARKDOWN outputs.

Examples:

spec-doc-format = "HTML"

corresponds to the -s --specdocformat RAW|HTML option of libdoc

Type: Literal['DARK', 'LIGHT', 'NONE'] | None

Use dark or light HTML theme. If this option is not used, or the value is NONE, the theme is selected based on the browser color scheme. New in RF 6.0.

Examples:

theme = "DARK"

corresponds to the --theme DARK|LIGHT|NONE option of libdoc

Type: dict[str, list[str | StringExpression]] | None

Class or module for monitoring test execution. Gets notifications e.g. when tests start and end. Arguments to the listener class can be given after the name using a colon or a semicolon as a separator.

Examples:

[listeners]
MyListener = []
"path/to/Listener.py" = ["arg1", "arg2"]

corresponds to the --listener listener * option of robot

Type: str | StringExpression | None

HTML log file. Can be disabled by giving a special value NONE. Default: log.html

Examples:

log = "mylog.html"
# disable log file generation
log = "NONE"

corresponds to the -l --log file option of robot

Type: str | StringExpression | None

Threshold level for logging. Available levels: TRACE, DEBUG, INFO (default), WARN, NONE (no logging). Use syntax LOGLEVEL:DEFAULT to define the default visible log level in log files.

Examples:

log-level = "DEBUG"
# explicit visible level (default: INFO)
log-level = "DEBUG:INFO"

corresponds to the -L --loglevel level option of robot

Type: str | StringExpression | None

Title for the generated log file. The default title is <SuiteName> Log.

Examples:

log-title = "My Project Log"

corresponds to the --logtitle title option of robot

Type: int | None

Maximum number of characters to show in log when variables are assigned. Zero or negative values can be used to avoid showing assigned values at all. Default is 200.

Examples:

max-assign-length = 200

corresponds to the --maxassignlength characters option of robot

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 = 40
max-error-lines = "NONE"

corresponds to the --maxerrorlines lines option of robot

Type: dict[str, str | StringExpression] | None

Set metadata of the top level suite. Value can contain formatting and be read from a file similarly as --doc. Example: --metadata Version:1.2

Examples:

[metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"

corresponds to the -M --metadata name:value * option of robot

Type: str | StringExpression | None

Set the name of the top level suite. By default the name is created based on the executed file or directory.

Examples:

name = "My Project"

corresponds to the -N --name name option of robot

Type: bool | Flag | None

Sets the return code to zero regardless of failures in test cases. Error codes are returned normally.

Examples:

# always exit 0 regardless of failed tests
no-status-rc = true

corresponds to the --nostatusrc option of robot

Type: str | StringExpression | None

XML output file. Given path, similarly as paths given to --log, --report, --xunit, and --debugfile, is relative to --outputdir unless given as an absolute path. Other output files are created based on XML output files after the test execution and XML outputs can also be further processed with Rebot tool. Can be disabled by giving a special value NONE.

Default: output.xml

Examples:

output = "output.xml"

corresponds to the -o --output file option of robot

Type: str | StringExpression | None

Where to create output files. The default is the directory where tests are run from and the given path is considered relative to that unless it is absolute.

Examples:

output-dir = "results"

corresponds to the -d --outputdir dir option of robot

Type: list[str | StringExpression] | None

Parse only files matching pattern. It can be:

  • a file name or pattern like example.robot or *.robot to parse all files matching that name,
  • a file path like path/to/example.robot, or
  • a directory path like path/to/example to parse all files in that directory, recursively.

Examples:

parse-include = ["*.robot", "tests/**/*.robot"]

corresponds to the -I --parseinclude pattern * option of robot

Type: dict[str, list[str | StringExpression]] | None

Custom parser class or module. Parser classes accept arguments the same way as with --listener.

Examples:

[parsers]
MyParser = []
"path/to/MyParser.py" = ["arg1", "arg2"]

corresponds to the --parser parser * option of robot

Type: str | list[str] | None

Specifies the paths where robot/robotcode should discover tests. If no paths are given at the command line this value is used.

Examples:

paths = ["tests"]

Corresponds to the paths argument of robot.

Type: dict[str, list[str | StringExpression]] | None

Class to programmatically modify the result model before creating reports and logs. Accepts arguments the same way as with --listener.

Examples:

[pre-rebot-modifiers]
"path/to/Modifier.py" = ["arg1"]

corresponds to the --prerebotmodifier modifier * option of robot

Type: dict[str, list[str | StringExpression]] | None

Class to programmatically modify the suite structure before execution. Accepts arguments the same way as with --listener.

Examples:

[pre-run-modifiers]
MyModifier = []
"path/to/Modifier.py" = ["arg1"]

corresponds to the --prerunmodifier modifier * option of robot

Type: dict[str, RobotProfile] | None

Execution profiles: 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"

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 = true

corresponds to the --quiet option of robot

Type: str | Literal['all', 'suites', 'tests', 'none'] | None

Randomizes the test execution order.

all: randomizes both suites and tests

suites: randomizes suites

tests: randomizes tests

none: no randomization (default) Use syntax VALUE:SEED to give a custom random seed. The seed must be an integer.

Examples:

randomize = "all"
# randomize tests with a fixed seed
randomize = "tests:1234"

corresponds to the --randomize all|suites|tests|none option of robot

Type: str | StringExpression | None

Select failed tests from an earlier output file to be re-executed. Equivalent to selecting same tests individually using --test.

Examples:

re-run-failed = "output.xml"

corresponds to the -R --rerunfailed output option of robot

Type: str | StringExpression | None

Select failed suites from an earlier output file to be re-executed.

Examples:

re-run-failed-suites = "output.xml"

corresponds to the -S --rerunfailedsuites output option of robot

Type: RebotProfile | None

Options to be passed to rebot. 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.

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 module
console = "path/to/Console.py:arg"

corresponds to the --console console option of rebot

Type: Literal['auto', 'on', 'ansi', 'off'] | None

Use colors on console output or not.

auto: use colors when output not redirected (default)

on: always use colors

ansi: like on but use ANSI colors also on Windows

off: disable colors altogether

Examples:

console-colors = "on"

corresponds to the -C --consolecolors auto|on|ansi|off option of robot

Type: Literal['auto', 'off'] | None

Control making paths to results files hyperlinks.

auto: use links when colors are enabled (default)

off: disable links unconditionally

Examples:

console-links = "off"

corresponds to the --consolelinks auto|off option of robot

Type: str | StringExpression | None

Set the documentation of the top level suite. Simple formatting is supported (e.g. bold). If the documentation contains spaces, it must be quoted. If the value is path to an existing file, actual documentation is read from that file.

Examples:

doc = "Very *good* example"
# read documentation from a file
doc = "doc_from_file.txt"

corresponds to the -D --doc documentation option of robot

Type: str | StringExpression | None

Same as --starttime but for end time. If both options are used, elapsed time of the suite is calculated based on them. For combined suites, it is otherwise calculated by adding elapsed times of the combined suites together.

Examples:

end-time = "2024-12-15 14:35:42.123"

corresponds to the --endtime timestamp option of rebot

Type: list[str | StringExpression] | None

Select test cases not to run by tag. These tests are not run even if included with --include. Tags are matched using same rules as with --include.

Examples:

excludes = ["smoke", "wip*"]

corresponds to the -e --exclude tag * option of robot

Type: list[str | NamePattern | TagPattern] | None

Matching keywords will be automatically expanded in the log file. Matching against keyword name or tags work using same rules as with --removekeywords.

Examples:

expand-keywords = ["name:BuiltIn.Log", "tag:expand"]

corresponds to the --expandkeywords name:<pattern>|tag:<pattern> * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --exclude option.

Select test cases not to run by tag. These tests are not run even if included with --include. Tags are matched using same rules as with --include.

Examples:

extend-excludes = ["smoke", "wip*"]

corresponds to the -e --exclude tag * option of robot

Type: list[str | NamePattern | TagPattern] | None

Appends entries to the --expandkeywords option.

Matching keywords will be automatically expanded in the log file. Matching against keyword name or tags work using same rules as with --removekeywords.

Examples:

extend-expand-keywords = ["name:BuiltIn.Log", "tag:expand"]

corresponds to the --expandkeywords name:<pattern>|tag:<pattern> * option of robot

Type: list[str | Literal['for', 'while', 'iteration'] | NamePattern | TagPattern] | None

Appends entries to the --flattenkeywords option.

Flattens matching keywords in the generated log file. Matching keywords get all log messages from their child keywords and children are discarded otherwise.

for: flatten FOR loops fully

while: flatten WHILE loops fully

iteration: flatten FOR/WHILE loop iterations

foritem: deprecated alias for iteration

name:<pattern>: flatten matched keywords using same matching rules as with --removekeywords name:<pattern>

tag:<pattern>: flatten matched keywords using same matching rules as with --removekeywords tag:<pattern>

Examples:

extend-flatten-keywords = ["for", "name:Lib.HugeKw", "tag:flatten"]

corresponds to the --flattenkeywords for|while|iteration|name:<pattern>|tag:<pattern> * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --include option.

Select tests by tag. Similarly as name with --test, tag is case and space insensitive and it is possible to use patterns with *, ? and [] as wildcards. Tags and patterns can also be combined together with AND, OR, and NOT operators.

Examples:

# match tests tagged "foo" or "bar*"
extend-includes = ["foo", "bar*"]
# tests with both "foo" and "bar*" tags
extend-includes = ["foo AND bar*"]

corresponds to the -i --include tag * option of robot

Type: dict[str, str | StringExpression] | None

Appends entries to the --metadata option.

Set metadata of the top level suite. Value can contain formatting and be read from a file similarly as --doc. Example: --metadata Version:1.2

Examples:

[extend-metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"

corresponds to the -M --metadata name:value * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --parseinclude option.

Parse only files matching pattern. It can be:

  • a file name or pattern like example.robot or *.robot to parse all files matching that name,
  • a file path like path/to/example.robot, or
  • a directory path like path/to/example to parse all files in that directory, recursively.

Examples:

extend-parse-include = ["*.robot", "tests/**/*.robot"]

corresponds to the -I --parseinclude pattern * option of robot

Type: dict[str, list[str | StringExpression]] | None

Appends entries to the --prerebotmodifier option.

Class to programmatically modify the result model before creating reports and logs. Accepts arguments the same way as with --listener.

Examples:

[extend-pre-rebot-modifiers]
"path/to/Modifier.py" = ["arg1"]

corresponds to the --prerebotmodifier modifier * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --pythonpath option.

Additional locations (directories, ZIPs) where to search libraries and other extensions when they are imported. Multiple paths can be given by separating them with a colon (:) or by using this option several times. Given path can also be a glob pattern matching multiple paths.

Examples:

extend-python-path = ["libs/", "/opt/libs", "libraries.zip"]

corresponds to the -P --pythonpath path * option of robot

Type: list[str | Literal['all', 'passed', 'for', 'wuks'] | NamePattern | TagPattern] | None

Appends entries to the --removekeywords option.

Remove keyword data from the generated log file. Keywords containing warnings are not removed except in the all mode.

all: remove data from all keywords

passed: remove data only from keywords in passed test cases and suites

for: remove passed iterations from FOR loops

while: remove passed iterations from WHILE loops

wuks: remove all but the last failing keyword inside BuiltIn.Wait Until Keyword Succeeds

name:<pattern>: remove data from keywords that match the given pattern. The pattern is matched against the full name of the keyword (e.g. 'MyLib.Keyword', 'resource.Second Keyword'), is case, space, and underscore insensitive, and may contain *, ? and [] wildcards.

tag:<pattern>: remove data from keywords that match the given pattern. Tags are case and space insensitive and patterns can contain *, ? and [] wildcards. Tags and patterns can also be combined together with AND, OR, and NOT operators.

Examples:

# match by keyword name
extend-remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]
# match by tag pattern (same rules as --include)
extend-remove-keywords = ["foo", "foo AND bar*"]

corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --settag option.

Sets given tag(s) to all executed tests.

Examples:

extend-set-tag = ["my-suite-tag", "ci"]

corresponds to the -G --settag tag * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --suite option.

Select suites by name. When this option is used with --test, --include or --exclude, only tests in matching suites and also matching other filtering criteria are selected. Name can be a simple pattern similarly as with --test and it can contain parent name separated with a dot. For example, -s X.Y selects suite Y only if its parent is X.

Examples:

# match a suite by name or by parent.child path
extend-suites = ["MySuite", "Tests.SubSuite"]

corresponds to the -s --suite name * option of robot

Type: dict[str, str | StringExpression] | None

Appends entries to the --tagdoc option.

Add documentation to tags matching the given pattern. Documentation is shown in Test Details and also as a tooltip in Statistics by Tag. Pattern can use *, ? and [] as wildcards like --test.

Examples:

[extend-tag-doc]
mytag = "Example"
"owner-*" = "Original author"

corresponds to the --tagdoc pattern:doc * option of robot

Type: list[str | dict[str, str]] | None

Appends entries to the --tagstatcombine option.

Create combined statistics based on tags. These statistics are added into Statistics by Tag. If the optional name is not given, name of the combined tag is got from the specified tags. Tags are matched using the same rules as with --include.

Examples:

extend-tag-stat-combine = ["requirement-*", { "tag1 AND tag2" = "My_name" }]

corresponds to the --tagstatcombine tags:name * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --tagstatexclude option.

Exclude matching tags from Statistics by Tag. This option can be used with --tagstatinclude similarly as --exclude is used with --include.

Examples:

extend-tag-stat-exclude = ["bug-*"]

corresponds to the --tagstatexclude tag * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --tagstatinclude option.

Include only matching tags in Statistics by Tag in log and report. By default all tags are shown. Given tag can be a pattern like with --include.

Examples:

extend-tag-stat-include = ["owner-*", "feature-*"]

corresponds to the --tagstatinclude tag * option of robot

Type: dict[str, str | StringExpression] | None

Appends entries to the --tagstatlink option.

Add external links into Statistics by Tag. Pattern can use *, ? and [] as wildcards like --test. Characters matching to * and ? wildcards can be used in link and title with syntax %N, where N is index of the match (starting from 1).

Examples:

[extend-tag-stat-link]
mytag = "http://my.domain:Title"
"bug-*" = "http://url/id=%1:Issue Tracker"

corresponds to the --tagstatlink pattern:link:title * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --task option.

Alias to --test. Especially applicable with --rpa.

Examples:

extend-tasks = ["My Task", "Smoke*"]

corresponds to the --task name * option of robot

Type: list[str | StringExpression] | None

Appends entries to the --test option.

Select tests by name or by long name containing also parent suite name like Parent.Test. Name is case and space insensitive and it can also be a simple pattern where * matches anything, ? matches any single character, and [chars] matches one character in brackets.

Examples:

extend-tests = ["My Test", "Smoke*"]

corresponds to the -t --test name * option of robot

Type: list[str | Literal['for', 'while', 'iteration'] | NamePattern | TagPattern] | None

Flattens matching keywords in the generated log file. Matching keywords get all log messages from their child keywords and children are discarded otherwise.

for: flatten FOR loops fully

while: flatten WHILE loops fully

iteration: flatten FOR/WHILE loop iterations

foritem: deprecated alias for iteration

name:<pattern>: flatten matched keywords using same matching rules as with --removekeywords name:<pattern>

tag:<pattern>: flatten matched keywords using same matching rules as with --removekeywords tag:<pattern>

Examples:

flatten-keywords = ["for", "name:Lib.HugeKw", "tag:flatten"]

corresponds to the --flattenkeywords for|while|iteration|name:<pattern>|tag:<pattern> * option of robot

Type: list[str | StringExpression] | None

Select tests by tag. Similarly as name with --test, tag is case and space insensitive and it is possible to use patterns with *, ? and [] as wildcards. Tags and patterns can also be combined together with AND, OR, and NOT operators.

Examples:

# match tests tagged "foo" or "bar*"
includes = ["foo", "bar*"]
# tests with both "foo" and "bar*" tags
includes = ["foo AND bar*"]

corresponds to the -i --include tag * option of robot

Type: bool | Flag | None

Create XML output file in format compatible with Robot Framework 6.x and earlier.

Examples:

legacy-output = true

corresponds to the --legacyoutput option of robot

Type: str | StringExpression | None

HTML log file. Can be disabled by giving a special value NONE. Default: log.html

Examples:

log = "mylog.html"
# disable log file generation
log = "NONE"

corresponds to the -l --log file option of robot

Type: str | StringExpression | None

Threshold for selecting messages. Available levels: TRACE (default), DEBUG, INFO, WARN, NONE (no msgs). Use syntax LOGLEVEL:DEFAULT to define the default visible log level in log files.

Examples:

log-level = "DEBUG"
# explicit visible level (default: INFO)
log-level = "DEBUG:INFO"

corresponds to the -L --loglevel level option of rebot

Type: str | StringExpression | None

Title for the generated log file. The default title is <SuiteName> Log.

Examples:

log-title = "My Project Log"

corresponds to the --logtitle title option of robot

Type: bool | Flag | None

When combining results, merge outputs together instead of putting them under a new top level suite.

Example: rebot --merge orig.xml rerun.xml

Examples:

merge = true

corresponds to the -R --merge option of rebot

Type: dict[str, str | StringExpression] | None

Set metadata of the top level suite. Value can contain formatting and be read from a file similarly as --doc. Example: --metadata Version:1.2

Examples:

[metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"

corresponds to the -M --metadata name:value * option of robot

Type: str | StringExpression | None

Set the name of the top level suite. By default the name is created based on the executed file or directory.

Examples:

name = "My Project"

corresponds to the -N --name name option of robot

Type: bool | Flag | None

Sets the return code to zero regardless of failures in test cases. Error codes are returned normally.

Examples:

# always exit 0 regardless of failed tests
no-status-rc = true

corresponds to the --nostatusrc option of robot

Type: str | StringExpression | None

XML output file. Not created unless this option is specified. Given path, similarly as paths given to --log, --report and --xunit, is relative to --outputdir unless given as an absolute path.

Examples:

output = "output.xml"

corresponds to the -o --output file option of rebot

Type: str | StringExpression | None

Where to create output files. The default is the directory where tests are run from and the given path is considered relative to that unless it is absolute.

Examples:

output-dir = "results"

corresponds to the -d --outputdir dir option of robot

Type: list[str | StringExpression] | None

Parse only files matching pattern. It can be:

  • a file name or pattern like example.robot or *.robot to parse all files matching that name,
  • a file path like path/to/example.robot, or
  • a directory path like path/to/example to parse all files in that directory, recursively.

Examples:

parse-include = ["*.robot", "tests/**/*.robot"]

corresponds to the -I --parseinclude pattern * option of robot

Type: dict[str, list[str | StringExpression]] | None

Class to programmatically modify the result model before creating reports and logs. Accepts arguments the same way as with --listener.

Examples:

[pre-rebot-modifiers]
"path/to/Modifier.py" = ["arg1"]

corresponds to the --prerebotmodifier modifier * option of robot

Type: bool | Flag | None

Processes output also if the top level suite is empty. Useful e.g. with --include/--exclude when it is not an error that there are no matches.

Examples:

process-empty-suite = true

corresponds to the --processemptysuite option of rebot

Type: list[str | StringExpression] | None

Additional locations (directories, ZIPs) where to search libraries and other extensions when they are imported. Multiple paths can be given by separating them with a colon (:) or by using this option several times. Given path can also be a glob pattern matching multiple paths.

Examples:

python-path = ["libs/", "/opt/libs", "libraries.zip"]

corresponds to the -P --pythonpath path * option of robot

Type: bool | Flag | None

Shortcut for --console quiet.

Examples:

quiet = true

corresponds to the --quiet option of rebot

Type: list[str | Literal['all', 'passed', 'for', 'wuks'] | NamePattern | TagPattern] | None

Remove keyword data from the generated log file. Keywords containing warnings are not removed except in the all mode.

all: remove data from all keywords

passed: remove data only from keywords in passed test cases and suites

for: remove passed iterations from FOR loops

while: remove passed iterations from WHILE loops

wuks: remove all but the last failing keyword inside BuiltIn.Wait Until Keyword Succeeds

name:<pattern>: remove data from keywords that match the given pattern. The pattern is matched against the full name of the keyword (e.g. 'MyLib.Keyword', 'resource.Second Keyword'), is case, space, and underscore insensitive, and may contain *, ? and [] wildcards.

tag:<pattern>: remove data from keywords that match the given pattern. Tags are case and space insensitive and patterns can contain *, ? and [] wildcards. Tags and patterns can also be combined together with AND, OR, and NOT operators.

Examples:

# match by keyword name
remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]
# match by tag pattern (same rules as --include)
remove-keywords = ["foo", "foo AND bar*"]

corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot

Type: str | StringExpression | None

HTML report file. Can be disabled with NONE similarly as --log. Default: report.html

Examples:

report = "report.html"

corresponds to the -r --report file option of robot

Type: str | StringExpression | None

Background colors to use in the report file. Given in format passed:failed:skipped where the :skipped part can be omitted. Both color names and codes work.

Examples:

# pass:fail:skip colours
report-background = "green:red:yellow"
# pass:fail (skip uses the fail colour)
report-background = "#00E:#E00"

corresponds to the --reportbackground colors option of robot

Type: str | StringExpression | None

Title for the generated report file. The default title is <SuiteName> Report.

Examples:

report-title = "My Project Report"

corresponds to the --reporttitle title option of robot

Type: bool | Flag | None

Turn on the generic automation mode. Mainly affects terminology so that "test" is replaced with "task" in logs and reports. By default the mode is got from test/task header in data files.

Examples:

rpa = true

corresponds to the --rpa option of robot

Type: list[str | StringExpression] | None

Sets given tag(s) to all executed tests.

Examples:

set-tag = ["my-suite-tag", "ci"]

corresponds to the -G --settag tag * option of robot

Type: bool | Flag | None

Split the log file into smaller pieces that open in browsers transparently.

Examples:

split-log = true

corresponds to the --splitlog option of robot

Type: str | StringExpression | None

Set execution start time. Timestamp must be given in format 2007-10-01 15:12:42.268 where all separators are optional (e.g. 20071001151242268 is ok too) and parts from milliseconds to hours can be omitted if they are zero (e.g. 2007-10-01). This can be used to override start time of a single suite or to set start time for a combined suite, which would otherwise be N/A.

Examples:

start-time = "2024-12-15 14:30:00.000"

corresponds to the --starttime timestamp option of rebot

Type: int | None

How many levels to show in Statistics by Suite in log and report. By default all suite levels are shown. Example: --suitestatlevel 3

Examples:

suite-stat-level = 2

corresponds to the --suitestatlevel level option of robot

Type: list[str | StringExpression] | None

Select suites by name. When this option is used with --test, --include or --exclude, only tests in matching suites and also matching other filtering criteria are selected. Name can be a simple pattern similarly as with --test and it can contain parent name separated with a dot. For example, -s X.Y selects suite Y only if its parent is X.

Examples:

# match a suite by name or by parent.child path
suites = ["MySuite", "Tests.SubSuite"]

corresponds to the -s --suite name * option of robot

Type: dict[str, str | StringExpression] | None

Add documentation to tags matching the given pattern. Documentation is shown in Test Details and also as a tooltip in Statistics by Tag. Pattern can use *, ? and [] as wildcards like --test.

Examples:

[tag-doc]
mytag = "Example"
"owner-*" = "Original author"

corresponds to the --tagdoc pattern:doc * option of robot

Type: list[str | dict[str, str]] | None

Create combined statistics based on tags. These statistics are added into Statistics by Tag. If the optional name is not given, name of the combined tag is got from the specified tags. Tags are matched using the same rules as with --include.

Examples:

tag-stat-combine = ["requirement-*", { "tag1 AND tag2" = "My_name" }]

corresponds to the --tagstatcombine tags:name * option of robot

Type: list[str | StringExpression] | None

Exclude matching tags from Statistics by Tag. This option can be used with --tagstatinclude similarly as --exclude is used with --include.

Examples:

tag-stat-exclude = ["bug-*"]

corresponds to the --tagstatexclude tag * option of robot

Type: list[str | StringExpression] | None

Include only matching tags in Statistics by Tag in log and report. By default all tags are shown. Given tag can be a pattern like with --include.

Examples:

tag-stat-include = ["owner-*", "feature-*"]

corresponds to the --tagstatinclude tag * option of robot

Type: dict[str, str | StringExpression] | None

Add external links into Statistics by Tag. Pattern can use *, ? and [] as wildcards like --test. Characters matching to * and ? wildcards can be used in link and title with syntax %N, where N is index of the match (starting from 1).

Examples:

[tag-stat-link]
mytag = "http://my.domain:Title"
"bug-*" = "http://url/id=%1:Issue Tracker"

corresponds to the --tagstatlink pattern:link:title * option of robot

Type: list[str | StringExpression] | None

Alias to --test. Especially applicable with --rpa.

Examples:

tasks = ["My Task", "Smoke*"]

corresponds to the --task name * option of robot

Type: list[str | StringExpression] | None

Select tests by name or by long name containing also parent suite name like Parent.Test. Name is case and space insensitive and it can also be a simple pattern where * matches anything, ? matches any single character, and [chars] matches one character in brackets.

Examples:

tests = ["My Test", "Smoke*"]

corresponds to the -t --test name * option of robot

Type: bool | Flag | None

When this option is used, timestamp in a format YYYYMMDD-hhmmss is added to all generated output files between their basename and extension. For example -T -o output.xml -r report.html -l none creates files like output-20070503-154410.xml and report-20070503-154410.html.

Examples:

timestamp-outputs = true

corresponds to the -T --timestampoutputs option of robot

Type: str | StringExpression | None

xUnit compatible result file. Not created unless this option is specified.

Examples:

xunit = "xunit.xml"

corresponds to the -x --xunit file option of robot

Type: list[str | Literal['all', 'passed', 'for', 'wuks'] | NamePattern | TagPattern] | None

Remove keyword data from the generated log file. Keywords containing warnings are not removed except in the all mode.

all: remove data from all keywords

passed: remove data only from keywords in passed test cases and suites

for: remove passed iterations from FOR loops

while: remove passed iterations from WHILE loops

wuks: remove all but the last failing keyword inside BuiltIn.Wait Until Keyword Succeeds

name:<pattern>: remove data from keywords that match the given pattern. The pattern is matched against the full name of the keyword (e.g. 'MyLib.Keyword', 'resource.Second Keyword'), is case, space, and underscore insensitive, and may contain *, ? and [] wildcards.

tag:<pattern>: remove data from keywords that match the given pattern. Tags are case and space insensitive and patterns can contain *, ? and [] wildcards. Tags and patterns can also be combined together with AND, OR, and NOT operators.

Examples:

# match by keyword name
remove-keywords = ["name:Lib.HugeKw", "name:myresource.*"]
# match by tag pattern (same rules as --include)
remove-keywords = ["foo", "foo AND bar*"]

corresponds to the --removekeywords all|passed|for|wuks|name:<pattern>|tag:<pattern> * option of robot

Type: str | StringExpression | None

HTML report file. Can be disabled with NONE similarly as --log. Default: report.html

Examples:

report = "report.html"

corresponds to the -r --report file option of robot

Type: str | StringExpression | None

Background colors to use in the report file. Given in format passed:failed:skipped where the :skipped part can be omitted. Both color names and codes work.

Examples:

# pass:fail:skip colours
report-background = "green:red:yellow"
# pass:fail (skip uses the fail colour)
report-background = "#00E:#E00"

corresponds to the --reportbackground colors option of robot

Type: str | StringExpression | None

Title for the generated report file. The default title is <SuiteName> Report.

Examples:

report-title = "My Project Report"

corresponds to the --reporttitle title option of robot

Type: bool | Flag | None

Turn on the generic automation mode. Mainly affects terminology so that "test" is replaced with "task" in logs and reports. By default the mode is got from test/task header in data files.

Examples:

rpa = true

corresponds to the --rpa option of robot

Type: bool | Flag | None

Executes suite even if it contains no tests. Useful e.g. with --include/--exclude when it is not an error that no test matches the condition.

Examples:

run-empty-suite = true

corresponds to the --runemptysuite option of robot

Type: list[str | StringExpression] | None

Sets given tag(s) to all executed tests.

Examples:

set-tag = ["my-suite-tag", "ci"]

corresponds to the -G --settag tag * option of robot

Type: list[str | StringExpression] | None

Tests having given tag will be skipped. Tag can be a pattern.

Examples:

skip = ["bug-*", "wip"]

corresponds to the --skip tag * option of robot

Type: list[str | StringExpression] | None

Tests having given tag will be skipped if they fail. Tag can be a pattern

Examples:

skip-on-failure = ["unstable"]

corresponds to the --skiponfailure tag * option of robot

Type: bool | Flag | None

Causes teardowns to be skipped if test execution is stopped prematurely.

Examples:

skip-teardown-on-exit = true

corresponds to the --skipteardownonexit option of robot

Type: bool | Flag | None

Split the log file into smaller pieces that open in browsers transparently.

Examples:

split-log = true

corresponds to the --splitlog option of robot

Type: int | None

How many levels to show in Statistics by Suite in log and report. By default all suite levels are shown. Example: --suitestatlevel 3

Examples:

suite-stat-level = 2

corresponds to the --suitestatlevel level option of robot

Type: list[str | StringExpression] | None

Select suites by name. When this option is used with --test, --include or --exclude, only tests in matching suites and also matching other filtering criteria are selected. Name can be a simple pattern similarly as with --test and it can contain parent name separated with a dot. For example, -s X.Y selects suite Y only if its parent is X.

Examples:

# match a suite by name or by parent.child path
suites = ["MySuite", "Tests.SubSuite"]

corresponds to the -s --suite name * option of robot

Type: dict[str, str | StringExpression] | None

Add documentation to tags matching the given pattern. Documentation is shown in Test Details and also as a tooltip in Statistics by Tag. Pattern can use *, ? and [] as wildcards like --test.

Examples:

[tag-doc]
mytag = "Example"
"owner-*" = "Original author"

corresponds to the --tagdoc pattern:doc * option of robot

Type: list[str | dict[str, str]] | None

Create combined statistics based on tags. These statistics are added into Statistics by Tag. If the optional name is not given, name of the combined tag is got from the specified tags. Tags are matched using the same rules as with --include.

Examples:

tag-stat-combine = ["requirement-*", { "tag1 AND tag2" = "My_name" }]

corresponds to the --tagstatcombine tags:name * option of robot

Type: list[str | StringExpression] | None

Exclude matching tags from Statistics by Tag. This option can be used with --tagstatinclude similarly as --exclude is used with --include.

Examples:

tag-stat-exclude = ["bug-*"]

corresponds to the --tagstatexclude tag * option of robot

Type: list[str | StringExpression] | None

Include only matching tags in Statistics by Tag in log and report. By default all tags are shown. Given tag can be a pattern like with --include.

Examples:

tag-stat-include = ["owner-*", "feature-*"]

corresponds to the --tagstatinclude tag * option of robot

Type: dict[str, str | StringExpression] | None

Add external links into Statistics by Tag. Pattern can use *, ? and [] as wildcards like --test. Characters matching to * and ? wildcards can be used in link and title with syntax %N, where N is index of the match (starting from 1).

Examples:

[tag-stat-link]
mytag = "http://my.domain:Title"
"bug-*" = "http://url/id=%1:Issue Tracker"

corresponds to the --tagstatlink pattern:link:title * option of robot

Type: list[str | StringExpression] | None

Alias to --test. Especially applicable with --rpa.

Examples:

tasks = ["My Task", "Smoke*"]

corresponds to the --task name * option of robot

Type: TestDocProfile | None

Options to be passed to testdoc. They win over the settings outside of this table that testdoc shares with robot, such as name, metadata or includes.

Type: str | StringExpression | None

Override the documentation of the top level suite.

Examples:

doc = "Very *good* example"
# read documentation from a file
doc = "doc_from_file.txt"

corresponds to the -D --doc document option of testdoc

Type: list[str | StringExpression] | None

Exclude tests by tags.

Examples:

excludes = ["smoke", "wip*"]

corresponds to the -e --exclude tag * option of testdoc

Type: list[str | StringExpression] | None

Appends entries to the --exclude option.

Exclude tests by tags.

Examples:

extend-excludes = ["smoke", "wip*"]

corresponds to the -e --exclude tag * option of testdoc

Type: list[str | StringExpression] | None

Appends entries to the --include option.

Include tests by tags.

Examples:

# match tests tagged "foo" or "bar*"
extend-includes = ["foo", "bar*"]
# tests with both "foo" and "bar*" tags
extend-includes = ["foo AND bar*"]

corresponds to the -i --include tag * option of testdoc

Type: dict[str, str | StringExpression] | None

Appends entries to the --metadata option.

Set/override metadata of the top level suite.

Examples:

[extend-metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"

corresponds to the -M --metadata name:value * option of testdoc

Type: list[str | StringExpression] | None

Appends entries to the --settag option.

Set given tag(s) to all test cases.

Examples:

extend-set-tag = ["my-suite-tag", "ci"]

corresponds to the -G --settag tag * option of testdoc

Type: list[str | StringExpression] | None

Appends entries to the --suite option.

Include suites by name.

Examples:

# match a suite by name or by parent.child path
extend-suites = ["MySuite", "Tests.SubSuite"]

corresponds to the -s --suite name * option of testdoc

Type: list[str | StringExpression] | None

Appends entries to the --test option.

Include tests by name.

Examples:

extend-tests = ["My Test", "Smoke*"]

corresponds to the -t --test name * option of testdoc

Type: list[str | StringExpression] | None

Include tests by tags.

Examples:

# match tests tagged "foo" or "bar*"
includes = ["foo", "bar*"]
# tests with both "foo" and "bar*" tags
includes = ["foo AND bar*"]

corresponds to the -i --include tag * option of testdoc

Type: dict[str, str | StringExpression] | None

Set/override metadata of the top level suite.

Examples:

[metadata]
Version = "1.2"
# value can be read from a file (same rules as --doc)
ReleaseNotes = "release_notes.txt"

corresponds to the -M --metadata name:value * option of testdoc

Type: str | StringExpression | None

Override the name of the top level suite.

Examples:

name = "My Project"

corresponds to the -N --name name option of testdoc

Type: list[str | StringExpression] | None

Set given tag(s) to all test cases.

Examples:

set-tag = ["my-suite-tag", "ci"]

corresponds to the -G --settag tag * option of testdoc

Type: list[str | StringExpression] | None

Include suites by name.

Examples:

# match a suite by name or by parent.child path
suites = ["MySuite", "Tests.SubSuite"]

corresponds to the -s --suite name * option of testdoc

Type: list[str | StringExpression] | None

Include tests by name.

Examples:

tests = ["My Test", "Smoke*"]

corresponds to the -t --test name * option of testdoc

Type: str | StringExpression | None

Set the title of the generated documentation. Underscores in the title are converted to spaces. The default title is the name of the top level suite.

Examples:

title = "My Library"

corresponds to the -T --title title option of testdoc

Type: list[str | StringExpression] | None

Select tests by name or by long name containing also parent suite name like Parent.Test. Name is case and space insensitive and it can also be a simple pattern where * matches anything, ? matches any single character, and [chars] matches one character in brackets.

Examples:

tests = ["My Test", "Smoke*"]

corresponds to the -t --test name * option of robot

Type: bool | Flag | None

When this option is used, timestamp in a format YYYYMMDD-hhmmss is added to all generated output files between their basename and extension. For example -T -o output.xml -r report.html -l none creates files like output-20070503-154410.xml and report-20070503-154410.html.

Examples:

timestamp-outputs = true

corresponds 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.

Type: CacheConfig | None

Defines the cache configuration.

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 = false

tool.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.py
  • MyLib
  • mylib.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.py
  • MyLib
  • mylib.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.py
  • MyVariables
  • myvars.subpackage.subpackage

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 = true

tool.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.

Type: list[str] | None

Specifies glob patterns for excluding files and folders from analysing by the language server.

Type: CacheConfig | None

Extend the cache configuration.

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 = false

tool.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.py
  • MyLib
  • mylib.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.py
  • MyLib
  • mylib.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.py
  • MyVariables
  • myvars.subpackage.subpackage

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 = true

tool.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.

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 < 2s
load_library_timeout = 5
[tool.robotcode-analyze]
# Allow heavy bootstrap (e.g. Selenium + large resource trees)
load_library_timeout = 30
[tool.robotcode-analyze]
# Omit to use default
# load_library_timeout = 15

Type: ModifiersConfig | None

Defines the modifiers for the analysis.

Examples:

[tool.robotcode-analyze.modifiers]
ignore = ["VariableNotFound"]
hint = ["KeywordNotFound"]
information = ["MultipleKeywords"]

Type: list[str] | None

Specifies the diagnostics codes to treat as errors.

Examples:

[tool.robotcode-analyze.modifiers]
error = ["VariableNotFound", "multiple-keywords"]

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"]

Type: list[str] | None

Specifies the diagnostics codes to treat as hint.

Examples:

[tool.robotcode-analyze.modifiers]
hint = ["VariableNotFound", "multiple-keywords"]

Type: list[str] | None

Specifies the diagnostics codes to ignore.

Examples:

[tool.robotcode-analyze.modifiers]
ignore = ["VariableNotFound", "multiple-keywords"]

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"]

Type: list[str] | None

Specifies the diagnostics codes to treat as warning.

Examples:

[tool.robotcode-analyze.modifiers]
warning = ["VariableNotFound", "multiple-keywords"]

Type: bool | None

Enable the experimental Semantic Model for code analysis. When enabled, LSP features use the new SemanticAnalyzer instead of the legacy NamespaceAnalyzer. This provides richer analysis including static resolution of nested variables and improved semantic highlighting.

This is experimental and may change without notice.

Can also be set via VS Code setting robotcode.experimental.semanticModel. If set in both places, either true value enables the feature.

Examples:

[tool.robotcode-analyze]
semantic-model = true

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

Type: dict[str, str | StringExpression] | None

Set variables in the test data. Only scalar variables with string value are supported and name is given without ${}. See --variablefile for a more powerful variable setting mechanism.

Examples:

# sets ${name} to "Robot"
[variables]
name = "Robot"

corresponds to the -v --variable name:value * option of robot

Type: 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 tests

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

Released under the Apache-2.0. Copyright © 2022-present Daniel Biehl