robot.reporting package

Implements report, log, output XML, and xUnit file generation.

The public API of this package is the ResultWriter class. It can write result files based on XML output files on the file system, as well as based on the result objects returned by the ExecutionResult() factory method or an executed TestSuite.

It is highly recommended to use the public API via the robot.api package.

This package is considered stable.

Submodules

robot.reporting.jsbuildingcontext module

class robot.reporting.jsbuildingcontext.JsBuildingContext(log_path=None, split_log=False, prune_input=False)[source]

Bases: object

string(string, escape=True, attr=False)[source]
html(string)[source]
relative_source(source)[source]
timestamp(time)[source]
message_level(level)[source]
strings
start_splitting_if_needed(split=False)[source]
end_splitting(model)[source]
prune_input(*args, **kwds)[source]

robot.reporting.jsexecutionresult module

class robot.reporting.jsexecutionresult.JsExecutionResult(suite, statistics, errors, strings, basemillis=None, split_results=None, min_level=None)[source]

Bases: object

remove_data_not_needed_in_report()[source]

robot.reporting.jsmodelbuilders module

class robot.reporting.jsmodelbuilders.JsModelBuilder(log_path=None, split_log=False, prune_input_to_save_memory=False)[source]

Bases: object

build_from(result_from_xml)[source]
class robot.reporting.jsmodelbuilders.SuiteBuilder(context)[source]

Bases: robot.reporting.jsmodelbuilders._Builder

build(suite)[source]
class robot.reporting.jsmodelbuilders.TestBuilder(context)[source]

Bases: robot.reporting.jsmodelbuilders._Builder

build(test)[source]
class robot.reporting.jsmodelbuilders.KeywordBuilder(context)[source]

Bases: robot.reporting.jsmodelbuilders._Builder

build(kw, split=False)[source]
class robot.reporting.jsmodelbuilders.MessageBuilder(context)[source]

Bases: robot.reporting.jsmodelbuilders._Builder

build(msg)[source]
class robot.reporting.jsmodelbuilders.StatisticsBuilder[source]

Bases: object

build(statistics)[source]
class robot.reporting.jsmodelbuilders.ErrorsBuilder(context)[source]

Bases: robot.reporting.jsmodelbuilders._Builder

build(errors)[source]
class robot.reporting.jsmodelbuilders.ErrorMessageBuilder(context)[source]

Bases: robot.reporting.jsmodelbuilders.MessageBuilder

build(msg)[source]

robot.reporting.jswriter module

class robot.reporting.jswriter.JsResultWriter(output, start_block='<script type="text/javascript">n', end_block='</script>n', split_threshold=9500)[source]

Bases: object

write(result, settings)[source]
class robot.reporting.jswriter.SuiteWriter(write_json, split_threshold)[source]

Bases: object

write(suite, variable)[source]
class robot.reporting.jswriter.SplitLogWriter(output)[source]

Bases: object

write(keywords, strings, index, notify)[source]

robot.reporting.logreportwriters module

class robot.reporting.logreportwriters.LogWriter(js_model)[source]

Bases: robot.reporting.logreportwriters._LogReportWriter

write(path, config)[source]
class robot.reporting.logreportwriters.ReportWriter(js_model)[source]

Bases: robot.reporting.logreportwriters._LogReportWriter

write(path, config)[source]
class robot.reporting.logreportwriters.RobotModelWriter(output, model, config)[source]

Bases: robot.htmldata.htmlfilewriter.ModelWriter

write(line)[source]
handles(line)

robot.reporting.outputwriter module

class robot.reporting.outputwriter.OutputWriter(output)[source]

Bases: robot.output.xmllogger.XmlLogger

start_message(msg)[source]
visit_keyword(kw)[source]
close()[source]
end_result(result)[source]
end_errors(errors=None)
end_keyword(kw)
end_message(msg)

Called when message ends. Default implementation does nothing.

end_stat(stat)
end_statistics(stats)
end_suite(suite)
end_suite_statistics(tag_stats)
end_tag_statistics(tag_stats)
end_test(test)
end_total_statistics(total_stats)
log_message(msg)
message(msg)
set_log_level(level)
start_errors(errors=None)
start_keyword(kw)
start_result(result)
start_stat(stat)
start_statistics(stats)
start_suite(suite)
start_suite_statistics(tag_stats)
start_tag_statistics(tag_stats)
start_test(test)
start_total_statistics(total_stats)
visit_errors(errors)
visit_message(msg)

Implements visiting the message.

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

visit_result(result)
visit_stat(stat)
visit_statistics(stats)
visit_suite(suite)

Implements traversing through the suite and its direct children.

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

visit_suite_statistics(stats)
visit_tag_statistics(stats)
visit_test(test)

Implements traversing through the test and its keywords.

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

visit_total_statistics(stats)

robot.reporting.resultwriter module

class robot.reporting.resultwriter.ResultWriter(*sources)[source]

Bases: object

A class to create log, report, output XML and xUnit files.

Parameters:sources – Either one Result object, or one or more paths to existing output XML files.

By default writes report.html and log.html, but no output XML or xUnit files. Custom file names can be given and results disabled or enabled using settings or options passed to the write_results() method. The latter is typically more convenient:

writer = ResultWriter(result)
writer.write_results(report='custom.html', log=None, xunit='xunit.xml')
write_results(settings=None, **options)[source]

Writes results based on the given settings or options.

Parameters:
  • settingsRebotSettings object to configure result writing.
  • options – Used to construct new RebotSettings object if settings are not given.
class robot.reporting.resultwriter.Results(settings, *sources)[source]

Bases: object

result
js_result

robot.reporting.stringcache module

class robot.reporting.stringcache.StringIndex[source]

Bases: int

bit_length() → int

Number of bits necessary to represent self in binary. >>> bin(37) ‘0b100101’ >>> (37).bit_length() 6

conjugate()

Returns self, the complex conjugate of any int.

denominator

the denominator of a rational number in lowest terms

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

class robot.reporting.stringcache.StringCache[source]

Bases: object

add(text)[source]
dump()[source]

robot.reporting.xunitwriter module

class robot.reporting.xunitwriter.XUnitWriter(execution_result, skip_noncritical)[source]

Bases: object

write(output)[source]
class robot.reporting.xunitwriter.XUnitFileWriter(xml_writer, skip_noncritical=False)[source]

Bases: robot.result.visitor.ResultVisitor

Provides an xUnit-compatible result file.

Attempts to adhere to the de facto schema guessed by Peter Reilly, see: http://marc.info/?l=ant-dev&m=123551933508682

start_suite(suite)[source]
end_suite(suite)[source]
visit_test(test)[source]
visit_keyword(kw)[source]
visit_statistics(stats)[source]
visit_errors(errors)[source]
end_result(result)[source]
end_errors(errors)
end_keyword(keyword)

Called when keyword ends. Default implementation does nothing.

end_message(msg)

Called when message ends. Default implementation does nothing.

end_stat(stat)
end_statistics(stats)
end_suite_statistics(suite_stats)
end_tag_statistics(stats)
end_test(test)

Called when test ends. Default implementation does nothing.

end_total_statistics(stats)
start_errors(errors)
start_keyword(keyword)

Called when keyword starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_message(msg)

Called when message starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_result(result)
start_stat(stat)
start_statistics(stats)
start_suite_statistics(stats)
start_tag_statistics(stats)
start_test(test)

Called when test starts. Default implementation does nothing.

Can return explicit False to stop visiting.

start_total_statistics(stats)
visit_message(msg)

Implements visiting the message.

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

visit_result(result)
visit_stat(stat)
visit_suite(suite)

Implements traversing through the suite and its direct children.

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

visit_suite_statistics(stats)
visit_tag_statistics(stats)
visit_total_statistics(stats)