robot.running.builder package
Submodules
robot.running.builder.builders module
- class robot.running.builder.builders.TestSuiteBuilder(included_suites: str = 'DEPRECATED', included_extensions: Sequence[str] = ('.robot', '.rbt', '.robot.rst'), included_files: Sequence[str] = (), custom_parsers: Sequence[str] = (), defaults: TestDefaults | None = None, rpa: bool | None = None, lang: Languages | Language | str | Path | Iterable[Language | str | Path] | None = None, allow_empty_suite: bool = False, process_curdir: bool = True)[source]
Bases:
objectBuilder to construct
TestSuiteobjects based on data on the disk.The
build()method constructs executableTestSuiteobjects based on test data files or directories. There are two main use cases for this API:Execute the created suite by using its
run()method. The suite can be modified before execution if needed.Inspect the suite to see, for example, what tests it has or what tags tests have. This can be more convenient than using the lower level
parsingAPIs.
Both modifying the suite and inspecting what data it contains are easiest done by using the
visitorinterface.This class is part of the public API and should be imported via the
robot.apipackage. An alternative is using theTestSuite.from_file_systemclassmethod that uses this class internally.- Parameters:
included_suites – This argument used to be used for limiting what suite file to parse. It is deprecated and has no effect starting from RF 6.1. Use the new
included_filesargument or filter the created suite after parsing instead.included_extensions – List of extensions of files to parse. Same as
--extension.included_files – List of names, paths or directory paths of files to parse. All files are parsed by default. Same as –parse-include. New in RF 6.1.
custom_parsers – Custom parsers as names or paths (same as
--parser) or as parser objects. New in RF 6.1.defaults – Possible test specific defaults from suite initialization files. New in RF 6.1.
rpa – Explicit execution mode.
Truefor RPA andFalsefor test automation. By default, mode is got from data file headers. Same as--rpaor--norpa.lang – Additional languages to be supported during parsing. Can be a string matching any of the supported language codes or names, an initialized
Languagesubclass, a list containing such strings or instances, or aLanguagesinstance.allow_empty_suite – Specify is it an error if the built suite contains no tests. Same as
--runemptysuite.process_curdir – Control processing the special
${CURDIR}variable. It is resolved already at parsing time by default, but that can be changed by giving this argumentFalsevalue.
- class robot.running.builder.builders.SuiteStructureParser(parsers: dict[str | None, Parser], defaults: TestDefaults | None = None, rpa: bool | None = None)[source]
Bases:
SuiteStructureVisitor- property parent_defaults: TestDefaults | None
- parse(structure: SuiteStructure) TestSuite[source]
- start_directory(structure: SuiteDirectory)[source]
- end_directory(structure: SuiteDirectory)[source]
robot.running.builder.parsers module
- class robot.running.builder.parsers.Parser[source]
Bases:
ABC- property name: str
- parse_suite_file(source: Path, defaults: TestDefaults) TestSuite[source]
- parse_init_file(source: Path, defaults: TestDefaults) TestSuite[source]
- parse_resource_file(source: Path) ResourceFile[source]
- class robot.running.builder.parsers.RobotParser(lang: Languages | Language | str | Path | Iterable[Language | str | Path] | None = None, process_curdir: bool = True)[source]
Bases:
Parser- extensions = ()
- parse_suite_file(source: Path, defaults: TestDefaults) TestSuite[source]
- parse_init_file(source: Path, defaults: TestDefaults) TestSuite[source]
- parse_model(model: File, defaults: TestDefaults | None = None) TestSuite[source]
- parse_resource_file(source: Path) ResourceFile[source]
- parse_resource_model(model: File) ResourceFile[source]
- class robot.running.builder.parsers.RestParser(lang: Languages | Language | str | Path | Iterable[Language | str | Path] | None = None, process_curdir: bool = True)[source]
Bases:
RobotParser- extensions = ('.robot.rst', '.rst', '.rest')
- class robot.running.builder.parsers.JsonParser[source]
Bases:
Parser- parse_suite_file(source: Path, defaults: TestDefaults) TestSuite[source]
- parse_init_file(source: Path, defaults: TestDefaults) TestSuite[source]
- parse_resource_file(source: Path) ResourceFile[source]
robot.running.builder.settings module
- class robot.running.builder.settings.OptionalItems[source]
Bases:
TypedDict- args: Sequence[str]
- lineno: int
- class robot.running.builder.settings.FixtureDict[source]
Bases:
OptionalItemsDictionary containing setup or teardown info.
- name: str
- args: Sequence[str]
- lineno: int
- class robot.running.builder.settings.TestDefaults(parent: TestDefaults | None = None, setup: FixtureDict | None = None, teardown: FixtureDict | None = None, tags: Sequence[str] = (), timeout: str | None = None)[source]
Bases:
objectRepresents default values for test related settings set in init files.
Parsers parsing suite files can read defaults and parsers parsing init files can set them. The easiest way to set defaults to a test is using the
set_to()method.This class is part of the public parser API. When implementing
parseorparse_initmethod so that they accept two arguments, the second is an instance of this class. If the class is needed as a type hint, it can be imported viarobot.runningorrobot.api.interfaces.- property setup: FixtureDict | None
Default setup as a
Keywordobject orNonewhen not set.Can be set also using a dictionary.
- property teardown: FixtureDict | None
Default teardown as a
Keywordobject orNonewhen not set.Can be set also using a dictionary.
- property tags: tuple[str, ...]
Default tags. Can be set also as a sequence.
- property timeout: str | None
Default timeout.
- class robot.running.builder.settings.FileSettings(test_defaults: TestDefaults | None = None)[source]
Bases:
object- property test_setup: FixtureDict | None
- property test_teardown: FixtureDict | None
- property test_tags: tuple[str, ...]
- property test_timeout: str | None
- property test_template: str | None
- property default_tags: tuple[str, ...]
- property keyword_tags: tuple[str, ...]
- class robot.running.builder.settings.InitFileSettings(test_defaults: TestDefaults | None = None)[source]
Bases:
FileSettings- property test_setup: FixtureDict | None
- property test_teardown: FixtureDict | None
- property test_tags: tuple[str, ...]
- property test_timeout: str | None
robot.running.builder.transformers module
- class robot.running.builder.transformers.SettingsBuilder(suite: TestSuite, settings: FileSettings)[source]
Bases:
ModelVisitor
- class robot.running.builder.transformers.SuiteBuilder(suite: TestSuite, settings: FileSettings)[source]
Bases:
ModelVisitor
- class robot.running.builder.transformers.ResourceBuilder(resource: ResourceFile)[source]
Bases:
ModelVisitor
- class robot.running.builder.transformers.BodyBuilder(model: TestCase | UserKeyword | For | If | Try | While | Group | None = None)[source]
Bases:
ModelVisitor
- class robot.running.builder.transformers.TestCaseBuilder(suite: TestSuite, settings: FileSettings)[source]
Bases:
BodyBuilder
- class robot.running.builder.transformers.KeywordBuilder(resource: ResourceFile, settings: FileSettings, seen_keywords: NormalizedDict)[source]
Bases:
BodyBuilder- model: UserKeyword
- class robot.running.builder.transformers.ForBuilder(parent: TestCase | UserKeyword | For | If | Try | While | Group)[source]
Bases:
BodyBuilder
- class robot.running.builder.transformers.IfBuilder(parent: TestCase | UserKeyword | For | If | Try | While | Group)[source]
Bases:
BodyBuilder
- class robot.running.builder.transformers.TryBuilder(parent: TestCase | UserKeyword | For | If | Try | While | Group)[source]
Bases:
BodyBuilder
- class robot.running.builder.transformers.WhileBuilder(parent: TestCase | UserKeyword | For | If | Try | While | Group)[source]
Bases:
BodyBuilder
- class robot.running.builder.transformers.GroupBuilder(parent: TestCase | UserKeyword | For | If | Try | While | Group)[source]
Bases:
BodyBuilder
- class robot.running.builder.transformers.ErrorReporter(source, raise_on_invalid_header=False)[source]
Bases:
ModelVisitor