Note: You are looking at a static snapshot of documentation related to Robot Framework automations. The most recent documentation is at https://robocorp.com/docs

RPA.RobotLogListener

RobotLogListener is a library for controlling logging during a Robot Framework execution using the listener API.

About keyword parameters

Parameters names and keywords for keywords Mute Run On Failure and Register Protected Keywords do not need to be full names of keywords, ie. all keywords matching even partially will be affected. Run Keyword would match all BuiltIn library keywords (17 keywords in RF 3.2.1) and of course all Run Keyword named keywords in any resource and/or library file which are imported would be matched also.

Mute Run On Failure

This keyword is to be used specifically with RPA.Browser.Selenium library, which extends SeleniumLibrary. Normally most of the SeleniumLibrary keywords execute run_on_failure behaviour, which can be set at library initialization. By default this behaviour is running Capture Page Screenshot keyword on failure.

In the example task Check the official website below the keyword Run Keyword is muted and when it runs the keyword Element Should Be Visible then those failures do not create page screenshots into log file.

It is also possible to change default failure behaviour by giving parameter optional_keyword_to_run for Mute Run On Failure, see task Check the official website with error log. This optional keyword would be then executed on failure. Due to the underlying SeleniumLibrary implementation this keyword can't have arguments.

Example of using Mute Run On Failure without and with optional keyword to run.

*** Settings *** Library RPA.Browser.Selenium Library RPA.RobotLogListener Task Setup Set Task Variable ${TRIES} 1 Task Teardown Close All Browsers *** Tasks *** Check the official website Mute Run On Failure Run Keyword Open Available Browser https://www.robocorp.com Check for visible element Capture Page Screenshot Check the official website with error log Mute Run On Failure Run Keyword optional_keyword_to_run=Log tries Open Available Browser https://www.robocorp.com Check for visible element Capture Page Screenshot *** Keywords *** Check for visible element FOR ${idx} IN RANGE 1 20 Set Task Variable ${TRIES} ${idx} ${status} Run Keyword And Return Status Element Should Be Visible id:xyz Exit For Loop If '${status}' == 'PASS' Sleep 2s END Log tries Log Checked element visibility ${TRIES} times

Register Protected Keywords

This keyword is used to totally disable logging for named keywords. In the example below the keyword This will not output is protected and it will not be logging into Robot Framework log files.

Robot Framework

*** Settings *** Library RPA.RobotLogListener *** Tasks *** Protecting keywords This will not output # will output because called before register Register Protected Keywords This will not output This will not output # is now registered This will output *** Keywords *** This will not output Log 1 This will output Log 2

Python

from robot.libraries.BuiltIn import BuiltIn, RobotNotRunningError from RPA.RobotLogListener import RobotLogListener try: BuiltIn().import_library("RPA.RobotLogListener") except RobotNotRunningError: pass class CustomLibrary: def __init__(self): listener = RobotLogListener() listener.register_protected_keywords( ["CustomLibrary.special_keyword"] ) def special_keyword(self): print('will not be written to log') return 'not shown in the log'