robot.result package

Implements parsing execution results from XML output files.

The main public API of this package consists of the ExecutionResult() factory method, that returns Result objects, and of the ResultVisitor abstract class, that eases further processing the results. It is recommended to import these public entry-points via the robot.api package like in the example below.

The model objects defined in the robot.result.model module are also part of the public API. They are used inside the Result object, and they can also be inspected and modified as part of the normal test execution by using pre-Rebot modifiers and listeners. These model objects are not exposed via robot.api, but they can be imported from robot.result if needed.

Example

#!/usr/bin/env python

"""Usage: check_test_times.py seconds inpath [outpath]

Reads test execution result from an output XML file and checks that no test
took longer than given amount of seconds to execute.

Optional `outpath` specifies where to write processed results. If not given,
results are written over the original file.
"""

import sys
from robot.api import ExecutionResult, ResultVisitor
from robot.result.model import TestCase


class ExecutionTimeChecker(ResultVisitor):

    def __init__(self, max_seconds: float):
        self.max_milliseconds = max_seconds * 1000

    def visit_test(self, test: TestCase):
        if test.status == 'PASS' and test.elapsedtime > self.max_milliseconds:
            test.status = 'FAIL'
            test.message = 'Test execution took too long.'


def check_tests(seconds, inpath, outpath=None):
    result = ExecutionResult(inpath)
    result.visit(ExecutionTimeChecker(float(seconds)))
    result.save(outpath)


if __name__ == '__main__':
    try:
        check_tests(*sys.argv[1:])
    except TypeError:
        print(__doc__)

Submodules

robot.result.configurer module

class robot.result.configurer.SuiteConfigurer(remove_keywords=None, log_level=None, start_time=None, end_time=None, **base_config)[source]

Bases: robot.model.configurer.SuiteConfigurer

Result suite configured.

Calls suite’s remove_keywords() and filter_messages() methods and sets its start and end time based on the given named parameters.

base_config is forwarded to robot.model.SuiteConfigurer that will do further configuration based on them.

visit_suite(suite)[source]

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

add_tags
end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

remove_tags
start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_keyword(keyword: Keyword) → bool|None

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_suite(suite: TestSuite) → bool|None

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_keyword(keyword: Keyword)

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_test(test: TestCase)

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

robot.result.executionerrors module

class robot.result.executionerrors.ExecutionErrors(messages=None)[source]

Bases: object

Represents errors occurred during the execution of tests.

An error might be, for example, that importing a library has failed.

id = 'errors'
messages

A list-like object of Message instances.

add(other)[source]
visit(visitor)[source]

robot.result.executionresult module

class robot.result.executionresult.Result(source=None, root_suite=None, errors=None, rpa=None)[source]

Bases: object

Test execution results.

Can be created based on XML output files using the ExecutionResult() factory method. Also returned by the robot.running.TestSuite.run method.

source = None

Path to the XML file where results are read from.

suite = None

Hierarchical execution results as a TestSuite object.

errors = None

Execution errors as an ExecutionErrors object.

statistics

Test execution statistics.

Statistics are an instance of Statistics that is created based on the contained suite and possible configuration.

Statistics are created every time this property is accessed. Saving them to a variable is thus often a good idea to avoid re-creating them unnecessarily:

from robot.api import ExecutionResult

result = ExecutionResult('output.xml')
result.configure(stat_config={'suite_stat_level': 2,
                              'tag_stat_combine': 'tagANDanother'})
stats = result.statistics
print(stats.total.failed)
print(stats.total.passed)
print(stats.tags.combined[0].total)
return_code

Return code (integer) of test execution.

By default returns the number of failed tests (max 250), but can be configured to always return 0.

configure(status_rc=True, suite_config=None, stat_config=None)[source]

Configures the result object and objects it contains.

Parameters:
  • status_rc – If set to False, return_code always returns 0.
  • suite_config – A dictionary of configuration options passed to configure() method of the contained suite.
  • stat_config – A dictionary of configuration options used when creating statistics.
save(path=None)[source]

Save results as a new output XML file.

Parameters:path – Path to save results to. If omitted, overwrites the original file.
visit(visitor)[source]

An entry point to visit the whole result object.

Parameters:visitor – An instance of ResultVisitor.

Visitors can gather information, modify results, etc. See result package for a simple usage example.

Notice that it is also possible to call result.suite.visit if there is no need to visit the contained statistics or errors.

handle_suite_teardown_failures()[source]

Internal usage only.

set_execution_mode(other)[source]

Set execution mode based on other result. Internal usage only.

class robot.result.executionresult.CombinedResult(results=None)[source]

Bases: robot.result.executionresult.Result

Combined results of multiple test executions.

add_result(other)[source]
configure(status_rc=True, suite_config=None, stat_config=None)

Configures the result object and objects it contains.

Parameters:
  • status_rc – If set to False, return_code always returns 0.
  • suite_config – A dictionary of configuration options passed to configure() method of the contained suite.
  • stat_config – A dictionary of configuration options used when creating statistics.
handle_suite_teardown_failures()

Internal usage only.

return_code

Return code (integer) of test execution.

By default returns the number of failed tests (max 250), but can be configured to always return 0.

save(path=None)

Save results as a new output XML file.

Parameters:path – Path to save results to. If omitted, overwrites the original file.
set_execution_mode(other)

Set execution mode based on other result. Internal usage only.

statistics

Test execution statistics.

Statistics are an instance of Statistics that is created based on the contained suite and possible configuration.

Statistics are created every time this property is accessed. Saving them to a variable is thus often a good idea to avoid re-creating them unnecessarily:

from robot.api import ExecutionResult

result = ExecutionResult('output.xml')
result.configure(stat_config={'suite_stat_level': 2,
                              'tag_stat_combine': 'tagANDanother'})
stats = result.statistics
print(stats.total.failed)
print(stats.total.passed)
print(stats.tags.combined[0].total)
visit(visitor)

An entry point to visit the whole result object.

Parameters:visitor – An instance of ResultVisitor.

Visitors can gather information, modify results, etc. See result package for a simple usage example.

Notice that it is also possible to call result.suite.visit if there is no need to visit the contained statistics or errors.

robot.result.flattenkeywordmatcher module

robot.result.flattenkeywordmatcher.validate_flatten_keyword(options)[source]
class robot.result.flattenkeywordmatcher.FlattenByTypeMatcher(flatten)[source]

Bases: object

match(tag)[source]
class robot.result.flattenkeywordmatcher.FlattenByNameMatcher(flatten)[source]

Bases: object

match(kwname, libname=None)[source]
class robot.result.flattenkeywordmatcher.FlattenByTagMatcher(flatten)[source]

Bases: object

match(kwtags)[source]

robot.result.keywordremover module

robot.result.keywordremover.KeywordRemover(how)[source]
class robot.result.keywordremover.AllKeywordsRemover[source]

Bases: robot.result.keywordremover._KeywordRemover

visit_keyword(keyword)[source]

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

visit_for(for_)[source]

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_if_branch(branch)[source]

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_keyword(keyword: Keyword) → bool|None

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_suite(suite: TestSuite) → bool|None

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_test(test: TestCase)

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

class robot.result.keywordremover.PassedKeywordRemover[source]

Bases: robot.result.keywordremover._KeywordRemover

start_suite(suite)[source]

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

visit_test(test)[source]

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_keyword(keyword)[source]

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_keyword(keyword: Keyword) → bool|None

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

class robot.result.keywordremover.ByNameKeywordRemover(pattern)[source]

Bases: robot.result.keywordremover._KeywordRemover

start_keyword(kw)[source]

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_suite(suite: TestSuite) → bool|None

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_keyword(keyword: Keyword)

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_test(test: TestCase)

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

class robot.result.keywordremover.ByTagKeywordRemover(pattern)[source]

Bases: robot.result.keywordremover._KeywordRemover

start_keyword(kw)[source]

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_suite(suite: TestSuite) → bool|None

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_keyword(keyword: Keyword)

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_test(test: TestCase)

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

class robot.result.keywordremover.ForLoopItemsRemover[source]

Bases: robot.result.keywordremover._LoopItemsRemover

start_for(for_)[source]

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_keyword(keyword: Keyword) → bool|None

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_suite(suite: TestSuite) → bool|None

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_keyword(keyword: Keyword)

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_test(test: TestCase)

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

class robot.result.keywordremover.WhileLoopItemsRemover[source]

Bases: robot.result.keywordremover._LoopItemsRemover

start_while(while_)[source]

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_keyword(keyword: Keyword) → bool|None

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_suite(suite: TestSuite) → bool|None

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_keyword(keyword: Keyword)

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_test(test: TestCase)

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

class robot.result.keywordremover.WaitUntilKeywordSucceedsRemover[source]

Bases: robot.result.keywordremover._KeywordRemover

start_keyword(kw)[source]

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_suite(suite: TestSuite) → bool|None

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_keyword(keyword: Keyword)

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_test(test: TestCase)

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

class robot.result.keywordremover.WarningAndErrorFinder[source]

Bases: robot.model.visitor.SuiteVisitor

start_suite(suite)[source]

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_test(test)[source]

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_keyword(keyword)[source]

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_message(msg)[source]

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_keyword(keyword: Keyword)

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_test(test: TestCase)

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

class robot.result.keywordremover.RemovalMessage(message)[source]

Bases: object

set_if_removed(kw, len_before)[source]
set(kw, message=None)[source]

robot.result.merger module

class robot.result.merger.Merger(result, rpa=False)[source]

Bases: robot.model.visitor.SuiteVisitor

merge(merged)[source]
start_suite(suite)[source]

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

end_suite(suite)[source]

Called when a suite ends. Default implementation does nothing.

visit_test(test)[source]

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_keyword(keyword: Keyword) → bool|None

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_keyword(keyword: Keyword)

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

robot.result.messagefilter module

class robot.result.messagefilter.MessageFilter(log_level=None)[source]

Bases: robot.model.visitor.SuiteVisitor

start_suite(suite)[source]

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_keyword(keyword)[source]

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_keyword(keyword: Keyword)

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_test(test: TestCase)

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

robot.result.model module

Module implementing result related model objects.

During test execution these objects are created internally by various runners. At that time they can be inspected and modified by listeners.

When results are parsed from XML output files after execution to be able to create logs and reports, these objects are created by the ExecutionResult() factory method. At that point they can be inspected and modified by pre-Rebot modifiers.

The ExecutionResult() factory method can also be used by custom scripts and tools. In such usage it is often easiest to inspect and modify these objects using the visitor interface.

If classes defined here are needed, for example, as type hints, they can be imported via the robot.running module.

class robot.result.model.Body(parent: Union[TestSuite, TestCase, UserKeyword, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, Keyword, Return, Continue, Break, Error, None] = None, items: Iterable[BodyItem|DataDict] = ())[source]

Bases: robot.model.body.BaseBody

append(item: Union[T, Dict[str, Any]]) → T

S.append(value) – append value to the end of the sequence

break_class

alias of Break

clear() → None -- remove all items from S
continue_class

alias of Continue

count(value) → integer -- return number of occurrences of value
create

Create a new item using the provided arguments.

create_break(*args, **kwargs) → type
create_continue(*args, **kwargs) → type
create_error(*args, **kwargs) → type
create_for(*args, **kwargs) → type
create_if(*args, **kwargs) → type
create_keyword(*args, **kwargs) → type
create_message(*args, **kwargs) → type
create_return(*args, **kwargs) → type
create_try(*args, **kwargs) → type
create_while(*args, **kwargs) → type
error_class

alias of Error

extend(items: Iterable[Union[T, Dict[str, Any]]])

S.extend(iterable) – extend sequence by appending elements from the iterable

filter(keywords: bool | None[bool, None] = None, messages: bool | None[bool, None] = None, predicate: Optional[Callable[[T], bool], None] = None)

Filter body items based on type and/or custom predicate.

To include or exclude items based on types, give matching arguments True or False values. For example, to include only keywords, use body.filter(keywords=True) and to exclude messages use body.filter(messages=False). Including and excluding by types at the same time is not supported and filtering my messages is supported only if the Body object actually supports messages.

Custom predicate is a callable getting each body item as an argument that must return True/False depending on should the item be included or not.

Selected items are returned as a list and the original body is not modified.

It was earlier possible to filter also based on FOR and IF types. That support was removed in RF 5.0 because it was not considered useful in general and because adding support for all new control structures would have required extra work. To exclude all control structures, use body.filter(keywords=True, messages=True) and to only include them use body.filter(keywords=False, messages=False)``. For more detailed filtering it is possible to use predicate.

flatten() → list

Return steps so that IF and TRY structures are flattened.

Basically the IF/ELSE and TRY/EXCEPT root elements are replaced with their branches. This is how they are shown in log files.

for_class

alias of For

if_class

alias of If

index(value[, start[, stop]]) → integer -- return first index of value.

Raises ValueError if the value is not present.

Supporting start and stop arguments is optional, but recommended.

insert(index: int, item: Union[T, Dict[str, Any]])

S.insert(index, value) – insert value before index

item_type

alias of builtins.type

keyword_class

alias of Keyword

message_class

alias of Message

pop([index]) → item -- remove and return item at index (default last).

Raise IndexError if list is empty or index is out of range.

classmethod register(item_class: Type[BI]) → Type[BI]

Register a virtual subclass of an ABC.

Returns the subclass, to allow usage as a class decorator.

remove(value)

S.remove(value) – remove first occurrence of value. Raise ValueError if the value is not present.

return_class

alias of Return

reverse()

S.reverse() – reverse IN PLACE

sort(**config)
to_dicts() → list

Return list of items converted to dictionaries.

Items are converted to dictionaries using the to_dict method, if they have it, or the built-in vars().

New in Robot Framework 6.1.

try_class

alias of Try

visit(visitor: SuiteVisitor)
while_class

alias of While

class robot.result.model.Branches(branch_class: Type[IT], parent: Union[TestSuite, TestCase, UserKeyword, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, Keyword, Return, Continue, Break, Error, None] = None, items: Iterable[BodyItem|DataDict] = ())[source]

Bases: robot.model.body.BaseBranches

append(item: Union[T, Dict[str, Any]]) → T

S.append(value) – append value to the end of the sequence

branch_class
branch_type

alias of builtins.type

break_class

alias of builtins.type

clear() → None -- remove all items from S
continue_class

alias of builtins.type

count(value) → integer -- return number of occurrences of value
create

Create a new item using the provided arguments.

create_branch(*args, **kwargs) → IT
create_break(*args, **kwargs) → type
create_continue(*args, **kwargs) → type
create_error(*args, **kwargs) → type
create_for(*args, **kwargs) → type
create_if(*args, **kwargs) → type
create_keyword(*args, **kwargs) → type
create_message(*args, **kwargs) → type
create_return(*args, **kwargs) → type
create_try(*args, **kwargs) → type
create_while(*args, **kwargs) → type
error_class

alias of builtins.type

extend(items: Iterable[Union[T, Dict[str, Any]]])

S.extend(iterable) – extend sequence by appending elements from the iterable

filter(keywords: bool | None[bool, None] = None, messages: bool | None[bool, None] = None, predicate: Optional[Callable[[T], bool], None] = None)

Filter body items based on type and/or custom predicate.

To include or exclude items based on types, give matching arguments True or False values. For example, to include only keywords, use body.filter(keywords=True) and to exclude messages use body.filter(messages=False). Including and excluding by types at the same time is not supported and filtering my messages is supported only if the Body object actually supports messages.

Custom predicate is a callable getting each body item as an argument that must return True/False depending on should the item be included or not.

Selected items are returned as a list and the original body is not modified.

It was earlier possible to filter also based on FOR and IF types. That support was removed in RF 5.0 because it was not considered useful in general and because adding support for all new control structures would have required extra work. To exclude all control structures, use body.filter(keywords=True, messages=True) and to only include them use body.filter(keywords=False, messages=False)``. For more detailed filtering it is possible to use predicate.

flatten() → list

Return steps so that IF and TRY structures are flattened.

Basically the IF/ELSE and TRY/EXCEPT root elements are replaced with their branches. This is how they are shown in log files.

for_class

alias of builtins.type

if_class

alias of builtins.type

index(value[, start[, stop]]) → integer -- return first index of value.

Raises ValueError if the value is not present.

Supporting start and stop arguments is optional, but recommended.

insert(index: int, item: Union[T, Dict[str, Any]])

S.insert(index, value) – insert value before index

item_type

alias of builtins.type

keyword_class

alias of Keyword

message_class

alias of Message

pop([index]) → item -- remove and return item at index (default last).

Raise IndexError if list is empty or index is out of range.

classmethod register(item_class: Type[BI]) → Type[BI]

Register a virtual subclass of an ABC.

Returns the subclass, to allow usage as a class decorator.

remove(value)

S.remove(value) – remove first occurrence of value. Raise ValueError if the value is not present.

return_class

alias of builtins.type

reverse()

S.reverse() – reverse IN PLACE

sort(**config)
to_dicts() → list

Return list of items converted to dictionaries.

Items are converted to dictionaries using the to_dict method, if they have it, or the built-in vars().

New in Robot Framework 6.1.

try_class

alias of builtins.type

visit(visitor: SuiteVisitor)
while_class

alias of builtins.type

class robot.result.model.IterationType[source]

Bases: typing.Generic

Class that wrapps Generic as python doesn’t allow multple generic inheritance

class robot.result.model.Iterations(iteration_class: Type[FW], parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None, items: Sequence[Union[FW, Dict[str, Any]]] = ())[source]

Bases: robot.model.body.BaseBody, robot.result.model.IterationType

iteration_type

alias of builtins.type

iteration_class
create_iteration(*args, **kwargs) → FW[source]
append(item: Union[T, Dict[str, Any]]) → T

S.append(value) – append value to the end of the sequence

break_class

alias of builtins.type

clear() → None -- remove all items from S
continue_class

alias of builtins.type

count(value) → integer -- return number of occurrences of value
create

Create a new item using the provided arguments.

create_break(*args, **kwargs) → type
create_continue(*args, **kwargs) → type
create_error(*args, **kwargs) → type
create_for(*args, **kwargs) → type
create_if(*args, **kwargs) → type
create_keyword(*args, **kwargs) → type
create_message(*args, **kwargs) → type
create_return(*args, **kwargs) → type
create_try(*args, **kwargs) → type
create_while(*args, **kwargs) → type
error_class

alias of builtins.type

extend(items: Iterable[Union[T, Dict[str, Any]]])

S.extend(iterable) – extend sequence by appending elements from the iterable

filter(keywords: bool | None[bool, None] = None, messages: bool | None[bool, None] = None, predicate: Optional[Callable[[T], bool], None] = None)

Filter body items based on type and/or custom predicate.

To include or exclude items based on types, give matching arguments True or False values. For example, to include only keywords, use body.filter(keywords=True) and to exclude messages use body.filter(messages=False). Including and excluding by types at the same time is not supported and filtering my messages is supported only if the Body object actually supports messages.

Custom predicate is a callable getting each body item as an argument that must return True/False depending on should the item be included or not.

Selected items are returned as a list and the original body is not modified.

It was earlier possible to filter also based on FOR and IF types. That support was removed in RF 5.0 because it was not considered useful in general and because adding support for all new control structures would have required extra work. To exclude all control structures, use body.filter(keywords=True, messages=True) and to only include them use body.filter(keywords=False, messages=False)``. For more detailed filtering it is possible to use predicate.

flatten() → list

Return steps so that IF and TRY structures are flattened.

Basically the IF/ELSE and TRY/EXCEPT root elements are replaced with their branches. This is how they are shown in log files.

for_class

alias of builtins.type

if_class

alias of builtins.type

index(value[, start[, stop]]) → integer -- return first index of value.

Raises ValueError if the value is not present.

Supporting start and stop arguments is optional, but recommended.

insert(index: int, item: Union[T, Dict[str, Any]])

S.insert(index, value) – insert value before index

item_type

alias of builtins.type

keyword_class

alias of Keyword

message_class

alias of Message

pop([index]) → item -- remove and return item at index (default last).

Raise IndexError if list is empty or index is out of range.

classmethod register(item_class: Type[BI]) → Type[BI]

Register a virtual subclass of an ABC.

Returns the subclass, to allow usage as a class decorator.

remove(value)

S.remove(value) – remove first occurrence of value. Raise ValueError if the value is not present.

return_class

alias of builtins.type

reverse()

S.reverse() – reverse IN PLACE

sort(**config)
to_dicts() → list

Return list of items converted to dictionaries.

Items are converted to dictionaries using the to_dict method, if they have it, or the built-in vars().

New in Robot Framework 6.1.

try_class

alias of builtins.type

visit(visitor: SuiteVisitor)
while_class

alias of builtins.type

class robot.result.model.Message(message='', level='INFO', html=False, timestamp=None, parent=None)[source]

Bases: robot.model.message.Message

BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
RETURN = 'RETURN'
SETUP = 'SETUP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

html
html_message

Returns the message content as HTML.

id

Item id in format like s1-t3-k1.

See TestSuite.id for more information.

id is None only in these special cases:

  • Keyword uses a placeholder for setup or teardown when a setup or teardown is not actually used.
  • With If and Try instances representing IF/TRY structure roots.
level
message
parent
repr_args = ('message', 'level')
timestamp
to_dict() → Dict[str, Any]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

type = 'MESSAGE'
visit(visitor)[source]

Visitor interface entry-point.

class robot.result.model.StatusMixin[source]

Bases: object

PASS = 'PASS'
FAIL = 'FAIL'
SKIP = 'SKIP'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

passed

True when status is ‘PASS’, False otherwise.

failed

True when status is ‘FAIL’, False otherwise.

skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

class robot.result.model.ForIteration(variables: Optional[Mapping[str, str], None] = None, status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, doc: str = '', parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.body.BodyItem, robot.result.model.StatusMixin, robot.result.modeldeprecation.DeprecatedAttributesMixin

Represents one FOR loop iteration.

type = 'ITERATION'
body_class

alias of Body

repr_args = ('variables',)
variables
parent
status
starttime
endtime
doc
body
visit(visitor: robot.model.visitor.SuiteVisitor)[source]
name

Deprecated.

BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
args

Deprecated.

assign

Deprecated.

config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Item id in format like s1-t3-k1.

See TestSuite.id for more information.

id is None only in these special cases:

  • Keyword uses a placeholder for setup or teardown when a setup or teardown is not actually used.
  • With If and Try instances representing IF/TRY structure roots.
kwname

Deprecated.

libname

Deprecated.

message

Deprecated.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

passed

True when status is ‘PASS’, False otherwise.

skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Deprecated.

timeout

Deprecated.

to_dict() → Dict[str, Any]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

class robot.result.model.For(variables: Sequence[str] = (), flavor: Literal[IN, IN RANGE, IN ENUMERATE, IN ZIP] = 'IN', values: Sequence[str] = (), start: str | None[str, None] = None, mode: str | None[str, None] = None, fill: str | None[str, None] = None, status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, doc: str = '', parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.control.For, robot.result.model.StatusMixin, robot.result.modeldeprecation.DeprecatedAttributesMixin

iteration_class

alias of ForIteration

iterations_class = robot.result.model.Iterations[robot.result.model.ForIteration]
status
starttime
endtime
doc
body
name

Deprecated.

BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
args

Deprecated.

assign

Deprecated.

body_class

alias of robot.model.body.Body

config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

fill
flavor
classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Item id in format like s1-t3-k1.

See TestSuite.id for more information.

id is None only in these special cases:

  • Keyword uses a placeholder for setup or teardown when a setup or teardown is not actually used.
  • With If and Try instances representing IF/TRY structure roots.
keywords

Deprecated since Robot Framework 4.0. Use body instead.

kwname

Deprecated.

libname

Deprecated.

message

Deprecated.

mode
not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

parent
passed

True when status is ‘PASS’, False otherwise.

repr_args = ('variables', 'flavor', 'values', 'start', 'mode', 'fill')
skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start
start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Deprecated.

timeout

Deprecated.

to_dict() → Dict[str, Any][source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

type = 'FOR'
values
variables
visit(visitor: robot.model.visitor.SuiteVisitor)[source]
class robot.result.model.WhileIteration(status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, doc: str = '', parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.body.BodyItem, robot.result.model.StatusMixin, robot.result.modeldeprecation.DeprecatedAttributesMixin

Represents one WHILE loop iteration.

type = 'ITERATION'
body_class

alias of Body

parent
status
starttime
endtime
doc
body
visit(visitor: robot.model.visitor.SuiteVisitor)[source]
name

Deprecated.

BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
args

Deprecated.

assign

Deprecated.

config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Item id in format like s1-t3-k1.

See TestSuite.id for more information.

id is None only in these special cases:

  • Keyword uses a placeholder for setup or teardown when a setup or teardown is not actually used.
  • With If and Try instances representing IF/TRY structure roots.
kwname

Deprecated.

libname

Deprecated.

message

Deprecated.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

passed

True when status is ‘PASS’, False otherwise.

repr_args = ()
skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Deprecated.

timeout

Deprecated.

to_dict() → Dict[str, Any]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

class robot.result.model.While(condition: str | None[str, None] = None, limit: str | None[str, None] = None, on_limit: str | None[str, None] = None, on_limit_message: str | None[str, None] = None, status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, doc: str = '', parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.control.While, robot.result.model.StatusMixin, robot.result.modeldeprecation.DeprecatedAttributesMixin

iteration_class

alias of WhileIteration

iterations_class = robot.result.model.Iterations[robot.result.model.WhileIteration]
status
starttime
endtime
doc
body
name

Deprecated.

BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
args

Deprecated.

assign

Deprecated.

body_class

alias of robot.model.body.Body

condition
config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Item id in format like s1-t3-k1.

See TestSuite.id for more information.

id is None only in these special cases:

  • Keyword uses a placeholder for setup or teardown when a setup or teardown is not actually used.
  • With If and Try instances representing IF/TRY structure roots.
kwname

Deprecated.

libname

Deprecated.

limit
message

Deprecated.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

on_limit
on_limit_message
parent
passed

True when status is ‘PASS’, False otherwise.

repr_args = ('condition', 'limit', 'on_limit', 'on_limit_message')
skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Deprecated.

timeout

Deprecated.

to_dict() → Dict[str, Any][source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

type = 'WHILE'
visit(visitor: robot.model.visitor.SuiteVisitor)[source]
class robot.result.model.IfBranch(type: str = 'IF', condition: str | None[str, None] = None, status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, doc: str = '', parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.control.IfBranch, robot.result.model.StatusMixin, robot.result.modeldeprecation.DeprecatedAttributesMixin

body_class

alias of Body

status
starttime
endtime
doc
name

Deprecated.

BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
args

Deprecated.

assign

Deprecated.

body
condition
config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Branch id omits IF/ELSE root from the parent id part.

kwname

Deprecated.

libname

Deprecated.

message

Deprecated.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

parent
passed

True when status is ‘PASS’, False otherwise.

repr_args = ('type', 'condition')
skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Deprecated.

timeout

Deprecated.

to_dict() → Dict[str, Any][source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

type
visit(visitor: robot.model.visitor.SuiteVisitor)[source]
class robot.result.model.If(status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, doc: str = '', parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.control.If, robot.result.model.StatusMixin, robot.result.modeldeprecation.DeprecatedAttributesMixin

branch_class

alias of IfBranch

branches_class = robot.result.model.Branches[robot.result.model.IfBranch]
status
starttime
endtime
doc
BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
args

Deprecated.

assign

Deprecated.

body
config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Root IF/ELSE id is always None.

kwname

Deprecated.

libname

Deprecated.

message

Deprecated.

name

Deprecated.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

parent
passed

True when status is ‘PASS’, False otherwise.

repr_args = ()
skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Deprecated.

timeout

Deprecated.

to_dict() → Dict[str, Any][source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

type = 'IF/ELSE ROOT'
visit(visitor: robot.model.visitor.SuiteVisitor)[source]
class robot.result.model.TryBranch(type: str = 'TRY', patterns: Sequence[str] = (), pattern_type: str | None[str, None] = None, variable: str | None[str, None] = None, status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, doc: str = '', parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.control.TryBranch, robot.result.model.StatusMixin, robot.result.modeldeprecation.DeprecatedAttributesMixin

body_class

alias of Body

status
starttime
endtime
doc
name

Deprecated.

BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
args

Deprecated.

assign

Deprecated.

body
config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Branch id omits TRY/EXCEPT root from the parent id part.

kwname

Deprecated.

libname

Deprecated.

message

Deprecated.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

parent
passed

True when status is ‘PASS’, False otherwise.

pattern_type
patterns
repr_args = ('type', 'patterns', 'pattern_type', 'variable')
skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Deprecated.

timeout

Deprecated.

to_dict() → Dict[str, Any][source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

type
variable
visit(visitor: robot.model.visitor.SuiteVisitor)[source]
class robot.result.model.Try(status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, doc: str = '', parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.control.Try, robot.result.model.StatusMixin, robot.result.modeldeprecation.DeprecatedAttributesMixin

branch_class

alias of TryBranch

branches_class = robot.result.model.Branches[robot.result.model.TryBranch]
status
starttime
endtime
doc
BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
args

Deprecated.

assign

Deprecated.

body
config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

else_branch
end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

except_branches
failed

True when status is ‘FAIL’, False otherwise.

finally_branch
classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Root TRY/EXCEPT id is always None.

kwname

Deprecated.

libname

Deprecated.

message

Deprecated.

name

Deprecated.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

parent
passed

True when status is ‘PASS’, False otherwise.

repr_args = ()
skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Deprecated.

timeout

Deprecated.

to_dict() → Dict[str, Any][source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

try_branch
type = 'TRY/EXCEPT ROOT'
visit(visitor: robot.model.visitor.SuiteVisitor)[source]
class robot.result.model.Return(values: Sequence[str] = (), status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.control.Return, robot.result.model.StatusMixin, robot.result.modeldeprecation.DeprecatedAttributesMixin

body_class

alias of Body

status
starttime
endtime
body

Child keywords and messages as a Body object.

Typically empty. Only contains something if running RETURN has failed due to a syntax error or listeners have logged messages or executed keywords.

args

Deprecated.

doc

Deprecated.

BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
assign

Deprecated.

config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Item id in format like s1-t3-k1.

See TestSuite.id for more information.

id is None only in these special cases:

  • Keyword uses a placeholder for setup or teardown when a setup or teardown is not actually used.
  • With If and Try instances representing IF/TRY structure roots.
kwname

Deprecated.

libname

Deprecated.

message

Deprecated.

name

Deprecated.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

parent
passed

True when status is ‘PASS’, False otherwise.

repr_args = ('values',)
skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Deprecated.

timeout

Deprecated.

to_dict() → Dict[str, Any][source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

type = 'RETURN'
values
visit(visitor: robot.model.visitor.SuiteVisitor)[source]
class robot.result.model.Continue(status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.control.Continue, robot.result.model.StatusMixin, robot.result.modeldeprecation.DeprecatedAttributesMixin

body_class

alias of Body

status
starttime
endtime
body

Child keywords and messages as a Body object.

Typically empty. Only contains something if running CONTINUE has failed due to a syntax error or listeners have logged messages or executed keywords.

args

Deprecated.

doc

Deprecated.

BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
assign

Deprecated.

config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Item id in format like s1-t3-k1.

See TestSuite.id for more information.

id is None only in these special cases:

  • Keyword uses a placeholder for setup or teardown when a setup or teardown is not actually used.
  • With If and Try instances representing IF/TRY structure roots.
kwname

Deprecated.

libname

Deprecated.

message

Deprecated.

name

Deprecated.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

parent
passed

True when status is ‘PASS’, False otherwise.

repr_args = ()
skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Deprecated.

timeout

Deprecated.

to_dict() → Dict[str, Any][source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

type = 'CONTINUE'
visit(visitor: robot.model.visitor.SuiteVisitor)[source]
class robot.result.model.Break(status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.control.Break, robot.result.model.StatusMixin, robot.result.modeldeprecation.DeprecatedAttributesMixin

body_class

alias of Body

status
starttime
endtime
body

Child keywords and messages as a Body object.

Typically empty. Only contains something if running BREAK has failed due to a syntax error or listeners have logged messages or executed keywords.

args

Deprecated.

doc

Deprecated.

BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
assign

Deprecated.

config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Item id in format like s1-t3-k1.

See TestSuite.id for more information.

id is None only in these special cases:

  • Keyword uses a placeholder for setup or teardown when a setup or teardown is not actually used.
  • With If and Try instances representing IF/TRY structure roots.
kwname

Deprecated.

libname

Deprecated.

message

Deprecated.

name

Deprecated.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

parent
passed

True when status is ‘PASS’, False otherwise.

repr_args = ()
skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Deprecated.

timeout

Deprecated.

to_dict() → Dict[str, Any][source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

type = 'BREAK'
visit(visitor: robot.model.visitor.SuiteVisitor)[source]
class robot.result.model.Error(values: Sequence[str] = (), status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.control.Error, robot.result.model.StatusMixin, robot.result.modeldeprecation.DeprecatedAttributesMixin

body_class

alias of Body

status
starttime
endtime
body

Messages as a Body object.

Typically contains the message that caused the error.

kwname

Deprecated.

args

Deprecated.

doc

Deprecated.

BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
assign

Deprecated.

config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Item id in format like s1-t3-k1.

See TestSuite.id for more information.

id is None only in these special cases:

  • Keyword uses a placeholder for setup or teardown when a setup or teardown is not actually used.
  • With If and Try instances representing IF/TRY structure roots.
libname

Deprecated.

message

Deprecated.

name

Deprecated.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

parent
passed

True when status is ‘PASS’, False otherwise.

repr_args = ('values',)
skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Deprecated.

timeout

Deprecated.

to_dict() → Dict[str, Any][source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

type = 'ERROR'
values
visit(visitor: robot.model.visitor.SuiteVisitor)[source]
class robot.result.model.Keyword(kwname: str = '', libname: str = '', doc: str = '', args: Sequence[str] = (), assign: Sequence[str] = (), tags: Sequence[str] = (), timeout: str | None[str, None] = None, type: str = 'KEYWORD', status: str = 'FAIL', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, sourcename: str | None[str, None] = None, parent: Union[TestSuite, TestCase, For, ForIteration, If, IfBranch, Try, TryBranch, While, WhileIteration, None] = None)[source]

Bases: robot.model.keyword.Keyword, robot.result.model.StatusMixin

Represents an executed library or user keyword.

body_class

alias of Body

kwname

Name of the keyword without library or resource name.

libname

Name of the library or resource containing this keyword.

doc
timeout
status
starttime
endtime
message

Keyword status message. Used only if suite teardowns fails.

sourcename

Original name of keyword with embedded arguments.

body

Possible keyword body as a Body object.

Body can consist of child keywords, messages, and control structures such as IF/ELSE. Library keywords typically have an empty body.

keywords

Deprecated since Robot Framework 4.0.

Use body or teardown instead.

messages

Keyword’s messages.

Starting from Robot Framework 4.0 this is a list generated from messages in body.

children

List of child keywords and messages in creation order.

Deprecated since Robot Framework 4.0. Use body instead.

name

Keyword name in format libname.kwname.

Just kwname if libname is empty. In practice that is the case only with user keywords in the same file as the executed test case or test suite.

Cannot be set directly. Set libname and kwname separately instead.

teardown

Keyword teardown as a Keyword object.

Teardown can be modified by setting attributes directly:

keyword.teardown.name = 'Example'
keyword.teardown.args = ('First', 'Second')

Alternatively the config() method can be used to set multiple attributes in one call:

keyword.teardown.config(name='Example', args=('First', 'Second'))

The easiest way to reset the whole teardown is setting it to None. It will automatically recreate the underlying Keyword object:

keyword.teardown = None

This attribute is a Keyword object also when a keyword has no teardown but in that case its truth value is False. If there is a need to just check does a keyword have a teardown, using the has_teardown attribute avoids creating the Keyword object and is thus more memory efficient.

New in Robot Framework 4.0. Earlier teardown was accessed like keyword.keywords.teardown. has_teardown is new in Robot Framework 4.1.2.

has_teardown

Check does a keyword have a teardown without creating a teardown object.

A difference between using if kw.has_teardown: and if kw.teardown: is that accessing the teardown attribute creates a Keyword object representing a teardown even when the keyword actually does not have one. This typically does not matter, but with bigger suite structures having lots of keywords it can have a considerable effect on memory usage.

New in Robot Framework 4.1.2.

tags

Keyword tags as a Tags object.

BREAK = 'BREAK'
CONTINUE = 'CONTINUE'
ELSE = 'ELSE'
ELSE_IF = 'ELSE IF'
ERROR = 'ERROR'
EXCEPT = 'EXCEPT'
FAIL = 'FAIL'
FINALLY = 'FINALLY'
FOR = 'FOR'
IF = 'IF'
IF_ELSE_ROOT = 'IF/ELSE ROOT'
ITERATION = 'ITERATION'
KEYWORD = 'KEYWORD'
MESSAGE = 'MESSAGE'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
RETURN = 'RETURN'
SETUP = 'SETUP'
SKIP = 'SKIP'
TEARDOWN = 'TEARDOWN'
TRY = 'TRY'
TRY_EXCEPT_ROOT = 'TRY/EXCEPT ROOT'
WHILE = 'WHILE'
args
assign
config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

id

Item id in format like s1-t3-k1.

See TestSuite.id for more information.

id is None only in these special cases:

  • Keyword uses a placeholder for setup or teardown when a setup or teardown is not actually used.
  • With If and Try instances representing IF/TRY structure roots.
not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

parent
passed

True when status is ‘PASS’, False otherwise.

repr_args = ('name', 'args', 'assign')
skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

to_dict() → Dict[str, Any][source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

type
visit(visitor: SuiteVisitor)[source]

Visitor interface entry-point.

class robot.result.model.TestCase(name: str = '', doc: str = '', tags: Sequence[str] = (), timeout: str | None[str, None] = None, lineno: int | None[int, None] = None, status: str = 'FAIL', message: str = '', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, parent: robot.result.model.TestSuite | None[robot.result.model.TestSuite, None] = None)[source]

Bases: robot.model.testcase.TestCase, robot.result.model.StatusMixin

Represents results of a single test case.

See the base class for documentation of attributes not documented here.

body_class

alias of Body

fixture_class

alias of Keyword

status

Status as a string PASS or FAIL. See also passed.

message

Test message. Typically a failure message but can be set also when test passes.

starttime

Test case execution start time in format %Y%m%d %H:%M:%S.%f.

endtime

Test case execution end time in format %Y%m%d %H:%M:%S.%f.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

critical
body

Test body as a Body object.

FAIL = 'FAIL'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
SKIP = 'SKIP'
config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

doc
elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

elapsedtime

Total execution time in milliseconds.

This attribute will be replaced by elapsed_time in the future.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

failed

True when status is ‘FAIL’, False otherwise.

classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

has_setup

Check does a suite have a setup without creating a setup object.

A difference between using if test.has_setup: and if test.setup: is that accessing the setup attribute creates a Keyword object representing the setup even when the test actually does not have one. This typically does not matter, but with bigger suite structures containing a huge about of tests it can have an effect on memory usage.

New in Robot Framework 5.0.

has_teardown

Check does a test have a teardown without creating a teardown object.

See has_setup for more information.

New in Robot Framework 5.0.

id

Test case id in format like s1-t3.

See TestSuite.id for more information.

keywords

Deprecated since Robot Framework 4.0

Use body, setup or teardown instead.

lineno
longname

Test name prefixed with the long name of the parent suite.

name
parent
passed

True when status is ‘PASS’, False otherwise.

repr_args = ('name',)
setup

Test setup as a Keyword object.

This attribute is a Keyword object also when a test has no setup but in that case its truth value is False.

Setup can be modified by setting attributes directly:

test.setup.name = 'Example'
test.setup.args = ('First', 'Second')

Alternatively the config() method can be used to set multiple attributes in one call:

test.setup.config(name='Example', args=('First', 'Second'))

The easiest way to reset the whole setup is setting it to None. It will automatically recreate the underlying Keyword object:

test.setup = None

New in Robot Framework 4.0. Earlier setup was accessed like test.keywords.setup.

skipped

True when status is ‘SKIP’, False otherwise.

Setting to False value is ambiguous and raises an exception.

source
start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

tags

Test tags as a Tags object.

teardown

Test teardown as a Keyword object.

See setup for more information.

timeout
to_dict() → dict[source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

visit(visitor: SuiteVisitor)[source]

Visitor interface entry-point.

class robot.result.model.TestSuite(name: str = '', doc: str = '', metadata: Optional[Mapping[str, str], None] = None, source: pathlib.Path | str | None[pathlib.Path, str, None] = None, rpa: bool = False, message: str = '', starttime: str | None[str, None] = None, endtime: str | None[str, None] = None, parent: robot.result.model.TestSuite | None[robot.result.model.TestSuite, None] = None)[source]

Bases: robot.model.testsuite.TestSuite, robot.result.model.StatusMixin

Represents results of a single test suite.

See the base class for documentation of attributes not documented here.

test_class

alias of TestCase

fixture_class

alias of Keyword

message

Possible suite setup or teardown error message.

starttime

Suite execution start time in format %Y%m%d %H:%M:%S.%f.

FAIL = 'FAIL'
NOT_RUN = 'NOT RUN'
NOT_SET = 'NOT SET'
PASS = 'PASS'
SKIP = 'SKIP'
adjust_source(relative_to: pathlib.Path | str | None[pathlib.Path, str, None] = None, root: pathlib.Path | str | None[pathlib.Path, str, None] = None)[source]

Adjust suite source and child suite sources, recursively.

Parameters:
  • relative_to – Make suite source relative to the given path. Calls pathlib.Path.relative_to() internally. Raises ValueError if creating a relative path is not possible.
  • root – Make given path a new root directory for the source. Raises ValueError if suite source is absolute.

Adjusting the source is especially useful when moving data around as JSON:

from robot.running import TestSuite

# Create a suite, adjust source and convert to JSON.
suite = TestSuite.from_file_system('/path/to/data')
suite.adjust_source(relative_to='/path/to')
suite.to_json('data.json')

# Recreate suite elsewhere and adjust source accordingly.
suite = TestSuite.from_json('data.json')
suite.adjust_source(root='/new/path/to')

New in Robot Framework 6.1.

all_tests

Yields all tests this suite and its child suites contain.

New in Robot Framework 6.1.

config(**attributes) → T

Configure model object with given attributes.

obj.config(name='Example', doc='Something') is equivalent to setting obj.name = 'Example' and obj.doc = 'Something'.

New in Robot Framework 4.0.

copy(**attributes) → T

Return a shallow copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.copy(name='New name').

See also deepcopy(). The difference between copy and deepcopy is the same as with the methods having same names in the copy module.

deepcopy(**attributes) → T

Return a deep copy of this object.

Parameters:attributes – Attributes to be set to the returned copy. For example, obj.deepcopy(name='New name').

See also copy(). The difference between deepcopy and copy is the same as with the methods having same names in the copy module.

doc
elapsed_time

Total execution time as a timedelta.

This attribute will replace elapsedtime in the future.

New in Robot Framework 6.1.

end_time

Execution end time as a datetime or as None if not set.

This attribute will replace endtime in the future.

New in Robot Framework 6.1.

endtime

Suite execution end time in format %Y%m%d %H:%M:%S.%f.

filter(included_suites: Optional[Sequence[str], None] = None, included_tests: Optional[Sequence[str], None] = None, included_tags: Optional[Sequence[str], None] = None, excluded_tags: Optional[Sequence[str], None] = None)[source]

Select test cases and remove others from this suite.

Parameters have the same semantics as --suite, --test, --include, and --exclude command line options. All of them can be given as a list of strings, or when selecting only one, as a single string.

Child suites that contain no tests after filtering are automatically removed.

Example:

suite.filter(included_tests=['Test 1', '* Example'],
             included_tags='priority-1')
classmethod from_dict(data: Dict[str, Any]) → T

Create this object based on data in a dictionary.

Data can be got from the to_dict() method or created externally.

classmethod from_json(source: str | bytes | typing.TextIO | pathlib.Path[str, bytes, TextIO, pathlib.Path]) → T

Create this object based on JSON data.

The data is given as the source parameter. It can be:

  • a string (or bytes) containing the data directly,
  • an open file object where to read the data, or
  • a path (pathlib.Path or string) to a UTF-8 encoded file to read.

The JSON data is first converted to a Python dictionary and the object created using the from_dict() method.

Notice that the source is considered to be JSON data if it is a string and contains {. If you need to use { in a file system path, pass it in as a pathlib.Path instance.

has_setup

Check does a suite have a setup without creating a setup object.

A difference between using if suite.has_setup: and if suite.setup: is that accessing the setup attribute creates a Keyword object representing the setup even when the suite actually does not have one. This typically does not matter, but with bigger suite structures it can have some effect on memory usage.

New in Robot Framework 5.0.

has_teardown

Check does a suite have a teardown without creating a teardown object.

See has_setup for more information.

New in Robot Framework 5.0.

has_tests
id

An automatically generated unique id.

The root suite has id s1, its child suites have ids s1-s1, s1-s2, …, their child suites get ids s1-s1-s1, s1-s1-s2, …, s1-s2-s1, …, and so on.

The first test in a suite has an id like s1-t1, the second has an id s1-t2, and so on. Similarly, keywords in suites (setup/teardown) and in tests get ids like s1-k1, s1-t1-k1, and s1-s4-t2-k5.

keywords

Deprecated since Robot Framework 4.0.

Use setup or teardown instead.

longname

Suite name prefixed with the long name of the parent suite.

metadata

Free suite metadata as a Metadata object.

name

Suite name.

If name is not set, it is constructed from source. If source is not set, name is constructed from child suite names by concatenating them with `` & ``. If there are no child suites, name is an empty string.

static name_from_source(source: pathlib.Path | str | None[pathlib.Path, str, None], extension: Sequence[str] = ()) → str[source]

Create suite name based on the given source.

This method is used by Robot Framework itself when it builds suites. External parsers and other tools that want to produce suites with names matching names created by Robot Framework can use this method as well. This method is also used if name is not set and someone accesses it.

The algorithm is as follows:

  • If the source is None or empty, return an empty string.
  • Get the base name of the source. Read more below.
  • Remove possible prefix separated with __.
  • Convert underscores to spaces.
  • If the name is all lower case, title case it.

The base name of files is got by calling Path.stem that drops the file extension. It typically works fine, but gives wrong result if the extension has multiple parts like in tests.robot.zip. That problem can be avoided by giving valid file extension or extensions as the optional extension argument.

Examples:

TestSuite.name_from_source(source)
TestSuite.name_from_source(source, extension='.robot.zip')
TestSuite.name_from_source(source, ('.robot', '.robot.zip'))
parent
remove_empty_suites(preserve_direct_children: bool = False)[source]

Removes all child suites not containing any tests, recursively.

repr_args = ('name',)
rpa
set_tags(add: Sequence[str] = (), remove: Sequence[str] = (), persist: bool = False)[source]

Add and/or remove specified tags to the tests in this suite.

Parameters:
  • add – Tags to add as a list or, if adding only one, as a single string.
  • remove – Tags to remove as a list or as a single string. Can be given as patterns where * and ? work as wildcards.
  • persist – Add/remove specified tags also to new tests added to this suite in the future.
setup

Suite setup.

This attribute is a Keyword object also when a suite has no setup but in that case its truth value is False. The preferred way to check does a suite have a setup is using has_setup.

Setup can be modified by setting attributes directly:

suite.setup.name = 'Example'
suite.setup.args = ('First', 'Second')

Alternatively the config() method can be used to set multiple attributes in one call:

suite.setup.config(name='Example', args=('First', 'Second'))

The easiest way to reset the whole setup is setting it to None. It will automatically recreate the underlying Keyword object:

suite.setup = None

New in Robot Framework 4.0. Earlier setup was accessed like suite.keywords.setup.

source
start_time

Execution start time as a datetime or as None if not set.

This attribute will replace starttime in the future.

New in Robot Framework 6.1.

teardown

Suite teardown.

See setup for more information.

test_count

Total number of the tests in this suite and in its child suites.

tests
to_dict() → dict[source]

Serialize this object into a dictionary.

The object can be later restored by using the from_dict() method.

to_json(file: None | typing.TextIO | pathlib.Path | str[None, TextIO, pathlib.Path, str] = None, *, ensure_ascii: bool = False, indent: int = 0, separators: tuple = (', ', ':')) → None | str[None, str]

Serialize this object into JSON.

The object is first converted to a Python dictionary using the to_dict() method and then the dictionary is converted to JSON.

The file parameter controls what to do with the resulting JSON data. It can be:

  • None (default) to return the data as a string,
  • an open file object where to write the data, or
  • a path (pathlib.Path or string) to a file where to write the data using UTF-8 encoding.

JSON formatting can be configured using optional parameters that are passed directly to the underlying json module. Notice that the defaults differ from what json uses.

visit(visitor: robot.model.visitor.SuiteVisitor)[source]

Visitor interface entry-point.

passed

True if no test has failed but some have passed, False otherwise.

failed

True if any test has failed, False otherwise.

skipped

True if there are no passed or failed tests, False otherwise.

not_run

True when status is ‘NOT RUN’, False otherwise.

Setting to False value is ambiguous and raises an exception.

status

‘PASS’, ‘FAIL’ or ‘SKIP’ depending on test statuses.

  • If any test has failed, status is ‘FAIL’.
  • If no test has failed but at least some test has passed, status is ‘PASS’.
  • If there are no failed or passed tests, status is ‘SKIP’. This covers both the case when all tests have been skipped and when there are no tests.
statistics

Suite statistics as a TotalStatistics object.

Recreated every time this property is accessed, so saving the results to a variable and inspecting it is often a good idea:

stats = suite.statistics
print(stats.failed)
print(stats.total)
print(stats.message)
full_message

Combination of message and stat_message.

stat_message

String representation of the statistics.

elapsedtime

Total execution time in milliseconds.

suites
remove_keywords(how: str)[source]

Remove keywords based on the given condition.

Parameters:how – What approach to use when removing keywords. Either ALL, PASSED, FOR, WUKS, or NAME:<pattern>.

For more information about the possible values see the documentation of the --removekeywords command line option.

filter_messages(log_level: str = 'TRACE')[source]

Remove log messages below the specified log_level.

configure(**options)[source]

A shortcut to configure a suite using one method call.

Can only be used with the root test suite.

Parameters:options – Passed to SuiteConfigurer that will then set suite attributes, call filter(), etc. as needed.

Example:

suite.configure(remove_keywords='PASSED',
                doc='Smoke test results.')

Not to be confused with config() method that suites, tests, and keywords have to make it possible to set multiple attributes in one call.

handle_suite_teardown_failures()[source]

Internal usage only.

suite_teardown_failed(message: str)[source]

Internal usage only.

suite_teardown_skipped(message: str)[source]

Internal usage only.

robot.result.modeldeprecation module

robot.result.modeldeprecation.deprecated(method)[source]
class robot.result.modeldeprecation.DeprecatedAttributesMixin[source]

Bases: object

name

Deprecated.

kwname

Deprecated.

libname

Deprecated.

args

Deprecated.

assign

Deprecated.

tags

Deprecated.

timeout

Deprecated.

message

Deprecated.

robot.result.resultbuilder module

robot.result.resultbuilder.ExecutionResult(*sources, **options)[source]

Factory method to constructs Result objects.

Parameters:
  • sources – XML source(s) containing execution results. Can be specified as paths, opened file objects, or strings/bytes containing XML directly. Support for bytes is new in RF 3.2.
  • options – Configuration options. Using merge=True causes multiple results to be combined so that tests in the latter results replace the ones in the original. Setting rpa either to True (RPA mode) or False (test automation) sets execution mode explicitly. By default it is got from processed output files and conflicting modes cause an error. Other options are passed directly to the ExecutionResultBuilder object used internally.
Returns:

Result instance.

Should be imported by external code via the robot.api package. See the robot.result package for a usage example.

class robot.result.resultbuilder.ExecutionResultBuilder(source, include_keywords=True, flattened_keywords=None)[source]

Bases: object

Builds Result objects based on output files.

Instead of using this builder directly, it is recommended to use the ExecutionResult() factory method.

Parameters:
  • source – Path to the XML output file to build Result objects from.
  • include_keywords – Controls whether to include keywords and control structures like FOR and IF in the result or not. They are not needed when generating only a report.
  • flattened_keywords – List of patterns controlling what keywords and control structures to flatten. See the documentation of the --flattenkeywords option for more details.
build(result)[source]
class robot.result.resultbuilder.RemoveKeywords[source]

Bases: robot.model.visitor.SuiteVisitor

start_suite(suite)[source]

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

visit_test(test)[source]

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_keyword(keyword: Keyword) → bool|None

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_keyword(keyword: Keyword)

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

robot.result.suiteteardownfailed module

class robot.result.suiteteardownfailed.SuiteTeardownFailureHandler[source]

Bases: robot.model.visitor.SuiteVisitor

end_suite(suite)[source]

Called when a suite ends. Default implementation does nothing.

visit_test(test)[source]

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_keyword(keyword)[source]

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_keyword(keyword: Keyword) → bool|None

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_suite(suite: TestSuite) → bool|None

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

class robot.result.suiteteardownfailed.SuiteTeardownFailed(message, skipped=False)[source]

Bases: robot.model.visitor.SuiteVisitor

visit_test(test)[source]

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_keyword(keyword)[source]

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_keyword(keyword: Keyword) → bool|None

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_suite(suite: TestSuite) → bool|None

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

robot.result.visitor module

Visitors can be used to easily traverse result structures.

This module contains ResultVisitor for traversing the whole Result object. It extends SuiteVisitor that contains visiting logic for the test suite structure.

class robot.result.visitor.ResultVisitor[source]

Bases: robot.model.visitor.SuiteVisitor

Abstract class to conveniently travel Result objects.

A visitor implementation can be given to the visit() method of a result object. This will cause the result object to be traversed and the visitor’s visit_x(), start_x(), and end_x() methods to be called for each suite, test, keyword and message, as well as for errors, statistics, and other information in the result object. See methods below for a full list of available visitor methods.

See the result package level documentation for more information about handling results and a concrete visitor example. For more information about the visitor algorithm see documentation in robot.model.visitor module.

visit_result(result)[source]
start_result(result)[source]
end_result(result)[source]
visit_statistics(stats)[source]
start_statistics(stats)[source]
end_statistics(stats)[source]
visit_total_statistics(stats)[source]
start_total_statistics(stats)[source]
end_total_statistics(stats)[source]
visit_tag_statistics(stats)[source]
start_tag_statistics(stats)[source]
end_tag_statistics(stats)[source]
visit_suite_statistics(stats)[source]
start_suite_statistics(stats)[source]
end_suite_statistics(suite_stats)[source]
visit_stat(stat)[source]
start_stat(stat)[source]
end_stat(stat)[source]
visit_errors(errors)[source]
start_errors(errors)[source]
end_errors(errors)[source]
end_body_item(item: BodyItem)

Called, by default, when keywords, messages or control structures end.

More specific end_keyword(), end_message(), :meth:`end_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Default implementation does nothing.

end_break(break_: Break)

Called when a BREAK element ends.

By default, calls end_body_item() which, by default, does nothing.

end_continue(continue_: Continue)

Called when a CONTINUE element ends.

By default, calls end_body_item() which, by default, does nothing.

end_error(error: Error)

Called when a ERROR element ends.

By default, calls end_body_item() which, by default, does nothing.

end_for(for_: For)

Called when a FOR loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_for_iteration(iteration: ForIteration)

Called when a FOR loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

end_if(if_: If)

Called when an IF/ELSE structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_if_branch(branch: IfBranch)

Called when an IF/ELSE branch ends.

By default, calls end_body_item() which, by default, does nothing.

end_keyword(keyword: Keyword)

Called when a keyword ends.

By default, calls end_body_item() which, by default, does nothing.

end_message(message: Message)

Called when a message ends.

By default, calls end_body_item() which, by default, does nothing.

end_return(return_: Return)

Called when a RETURN element ends.

By default, calls end_body_item() which, by default, does nothing.

end_suite(suite: TestSuite)

Called when a suite ends. Default implementation does nothing.

end_test(test: TestCase)

Called when a test ends. Default implementation does nothing.

end_try(try_: Try)

Called when a TRY/EXCEPT structure ends.

By default, calls end_body_item() which, by default, does nothing.

end_try_branch(branch: TryBranch)

Called when TRY, EXCEPT, ELSE and FINALLY branches end.

By default, calls end_body_item() which, by default, does nothing.

end_while(while_: While)

Called when a WHILE loop ends.

By default, calls end_body_item() which, by default, does nothing.

end_while_iteration(iteration: WhileIteration)

Called when a WHILE loop iteration ends.

By default, calls end_body_item() which, by default, does nothing.

start_body_item(item: BodyItem) → bool|None

Called, by default, when keywords, messages or control structures start.

More specific start_keyword(), start_message(), :meth:`start_for, etc. can be implemented to visit only keywords, messages or specific control structures.

Can return explicit False to stop visiting. Default implementation does nothing.

start_break(break_: Break) → bool|None

Called when a BREAK element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_continue(continue_: Continue) → bool|None

Called when a CONTINUE element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_error(error: Error) → bool|None

Called when a ERROR element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for(for_: For) → bool|None

Called when a FOR loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_for_iteration(iteration: ForIteration) → bool|None

Called when a FOR loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if(if_: If) → bool|None

Called when an IF/ELSE structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_if_branch(branch: IfBranch) → bool|None

Called when an IF/ELSE branch starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_keyword(keyword: Keyword) → bool|None

Called when a keyword starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_message(message: Message) → bool|None

Called when a message starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_return(return_: Return) → bool|None

Called when a RETURN element starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_suite(suite: TestSuite) → bool|None

Called when a suite starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_test(test: TestCase) → bool|None

Called when a test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_try(try_: Try) → bool|None

Called when a TRY/EXCEPT structure starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_try_branch(branch: TryBranch) → bool|None

Called when TRY, EXCEPT, ELSE or FINALLY branches start.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while(while_: While) → bool|None

Called when a WHILE loop starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

start_while_iteration(iteration: WhileIteration) → bool|None

Called when a WHILE loop iteration starts.

By default, calls start_body_item() which, by default, does nothing.

Can return explicit False to stop visiting.

visit_break(break_: Break)

Visits BREAK elements.

visit_continue(continue_: Continue)

Visits CONTINUE elements.

visit_error(error: Error)

Visits body items resulting from invalid syntax.

Examples include syntax like END or ELSE in wrong place and invalid setting like [Invalid].

visit_for(for_: For)

Implements traversing through FOR loops.

Can be overridden to allow modifying the passed in for_ without calling start_for() or end_for() nor visiting body.

visit_for_iteration(iteration: ForIteration)

Implements traversing through single FOR loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_for_iteration() or end_for_iteration() nor visiting body.

visit_if(if_: If)

Implements traversing through IF/ELSE structures.

Notice that if_ does not have any data directly. Actual IF/ELSE branches are in its body and they are visited separately using visit_if_branch().

Can be overridden to allow modifying the passed in if_ without calling start_if() or end_if() nor visiting branches.

visit_if_branch(branch: IfBranch)

Implements traversing through single IF/ELSE branch.

Can be overridden to allow modifying the passed in branch without calling start_if_branch() or end_if_branch() nor visiting body.

visit_keyword(keyword: Keyword)

Implements traversing through keywords.

Can be overridden to allow modifying the passed in kw without calling start_keyword() or end_keyword() nor visiting the body of the keyword

visit_message(message: Message)

Implements visiting messages.

Can be overridden to allow modifying the passed in msg without calling start_message() or end_message().

visit_return(return_: Return)

Visits a RETURN elements.

visit_suite(suite: TestSuite)

Implements traversing through suites.

Can be overridden to allow modifying the passed in suite without calling start_suite() or end_suite() nor visiting child suites, tests or setup and teardown at all.

visit_test(test: TestCase)

Implements traversing through tests.

Can be overridden to allow modifying the passed in test without calling start_test() or end_test() nor visiting the body of the test.

visit_try(try_: Try)

Implements traversing through TRY/EXCEPT structures.

This method is used with the TRY/EXCEPT root element. Actual TRY, EXCEPT, ELSE and FINALLY branches are visited separately using visit_try_branch().

visit_try_branch(branch: TryBranch)

Visits individual TRY, EXCEPT, ELSE and FINALLY branches.

visit_while(while_: While)

Implements traversing through WHILE loops.

Can be overridden to allow modifying the passed in while_ without calling start_while() or end_while() nor visiting body.

visit_while_iteration(iteration: WhileIteration)

Implements traversing through single WHILE loop iteration.

This is only used with the result side model because on the running side there are no iterations.

Can be overridden to allow modifying the passed in iteration without calling start_while_iteration() or end_while_iteration() nor visiting body.

robot.result.xmlelementhandlers module

class robot.result.xmlelementhandlers.XmlElementHandler(execution_result, root_handler=None)[source]

Bases: object

start(elem)[source]
end(elem)[source]
class robot.result.xmlelementhandlers.ElementHandler[source]

Bases: object

element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
tag = None
children = frozenset()
classmethod register(handler)[source]
get_child_handler(tag)[source]
start(elem, result)[source]
end(elem, result)[source]
class robot.result.xmlelementhandlers.RootHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

children = frozenset({'robot'})
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
tag = None
class robot.result.xmlelementhandlers.RobotHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'robot'
children = frozenset({'statistics', 'errors', 'suite'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.SuiteHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'suite'
children = frozenset({'metadata', 'kw', 'doc', 'suite', 'status', 'test', 'meta'})
start(elem, result)[source]
get_child_handler(tag)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
classmethod register(handler)
class robot.result.xmlelementhandlers.TestHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'test'
children = frozenset({'while', 'kw', 'tag', 'continue', 'msg', 'doc', 'break', 'status', 'error', 'return', 'if', 'for', 'tags', 'timeout', 'try'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.KeywordHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'kw'
children = frozenset({'continue', 'return', 'tags', 'kw', 'tag', 'doc', 'assign', 'error', 'timeout', 'try', 'msg', 'break', 'var', 'if', 'while', 'arguments', 'status', 'arg', 'for'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.ForHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'for'
children = frozenset({'kw', 'msg', 'doc', 'status', 'var', 'iter', 'value'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.WhileHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'while'
children = frozenset({'kw', 'msg', 'doc', 'status', 'iter'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.IterationHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'iter'
children = frozenset({'while', 'kw', 'msg', 'continue', 'doc', 'break', 'status', 'var', 'error', 'return', 'if', 'for', 'try'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.IfHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'if'
children = frozenset({'kw', 'msg', 'doc', 'status', 'branch'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.BranchHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'branch'
children = frozenset({'while', 'kw', 'msg', 'pattern', 'continue', 'doc', 'break', 'status', 'error', 'return', 'if', 'for', 'try'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.TryHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'try'
children = frozenset({'kw', 'msg', 'doc', 'status', 'branch'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.PatternHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'pattern'
children = frozenset()
end(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.ReturnHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'return'
children = frozenset({'msg', 'value', 'kw', 'status'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.ContinueHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'continue'
children = frozenset({'msg', 'kw', 'status'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.BreakHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'break'
children = frozenset({'msg', 'kw', 'status'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.ErrorHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'error'
children = frozenset({'msg', 'value', 'status'})
start(elem, result)[source]
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
class robot.result.xmlelementhandlers.MessageHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'msg'
end(elem, result)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.StatusHandler(set_status=True)[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'status'
end(elem, result)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.DocHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'doc'
end(elem, result)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.MetadataHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'metadata'
children = frozenset({'item'})
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.MetadataItemHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'item'
end(elem, result)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.MetaHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'meta'
end(elem, result)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.TagsHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'tags'
children = frozenset({'tag'})
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.TagHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'tag'
end(elem, result)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.TimeoutHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'timeout'
end(elem, result)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.AssignHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'assign'
children = frozenset({'var'})
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.VarHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'var'
end(elem, result)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.ArgumentsHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'arguments'
children = frozenset({'arg'})
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.ArgumentHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'arg'
end(elem, result)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.ValueHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'value'
end(elem, result)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
class robot.result.xmlelementhandlers.ErrorsHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'errors'
start(elem, result)[source]
get_child_handler(tag)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
classmethod register(handler)
class robot.result.xmlelementhandlers.ErrorMessageHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

end(elem, result)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
get_child_handler(tag)
classmethod register(handler)
start(elem, result)
tag = None
class robot.result.xmlelementhandlers.StatisticsHandler[source]

Bases: robot.result.xmlelementhandlers.ElementHandler

tag = 'statistics'
get_child_handler(tag)[source]
children = frozenset()
element_handlers = {'arg': <robot.result.xmlelementhandlers.ArgumentHandler object>, 'arguments': <robot.result.xmlelementhandlers.ArgumentsHandler object>, 'assign': <robot.result.xmlelementhandlers.AssignHandler object>, 'branch': <robot.result.xmlelementhandlers.BranchHandler object>, 'break': <robot.result.xmlelementhandlers.BreakHandler object>, 'continue': <robot.result.xmlelementhandlers.ContinueHandler object>, 'doc': <robot.result.xmlelementhandlers.DocHandler object>, 'error': <robot.result.xmlelementhandlers.ErrorHandler object>, 'errors': <robot.result.xmlelementhandlers.ErrorsHandler object>, 'for': <robot.result.xmlelementhandlers.ForHandler object>, 'if': <robot.result.xmlelementhandlers.IfHandler object>, 'item': <robot.result.xmlelementhandlers.MetadataItemHandler object>, 'iter': <robot.result.xmlelementhandlers.IterationHandler object>, 'kw': <robot.result.xmlelementhandlers.KeywordHandler object>, 'meta': <robot.result.xmlelementhandlers.MetaHandler object>, 'metadata': <robot.result.xmlelementhandlers.MetadataHandler object>, 'msg': <robot.result.xmlelementhandlers.MessageHandler object>, 'pattern': <robot.result.xmlelementhandlers.PatternHandler object>, 'return': <robot.result.xmlelementhandlers.ReturnHandler object>, 'robot': <robot.result.xmlelementhandlers.RobotHandler object>, 'statistics': <robot.result.xmlelementhandlers.StatisticsHandler object>, 'status': <robot.result.xmlelementhandlers.StatusHandler object>, 'suite': <robot.result.xmlelementhandlers.SuiteHandler object>, 'tag': <robot.result.xmlelementhandlers.TagHandler object>, 'tags': <robot.result.xmlelementhandlers.TagsHandler object>, 'test': <robot.result.xmlelementhandlers.TestHandler object>, 'timeout': <robot.result.xmlelementhandlers.TimeoutHandler object>, 'try': <robot.result.xmlelementhandlers.TryHandler object>, 'value': <robot.result.xmlelementhandlers.ValueHandler object>, 'var': <robot.result.xmlelementhandlers.VarHandler object>, 'while': <robot.result.xmlelementhandlers.WhileHandler object>}
end(elem, result)
classmethod register(handler)
start(elem, result)