I know that you can rename a testsuite with custom name by putting this to your test suite:
*** Settings ***
Name Custom Suite Name
However, I’d like to generate a dynamic suite name for my purposes like
*** Settings ***
Name Custom Suite Name ${SOME_GLOBAL_VARIABLE}
But this merely creates a suite name ‘Custom Suite Name ${SOME_GLOBAL_VARIABLE}’ so it seems no dynamic data can be placed in suite name…
To the Python… I have something like this:
class MyLibrary:
ROBOT_LISTENER_API_VERSION = 3
ROBOT_LIBRARY_SCOPE = ‘TEST SUITE’
def __init__(self):
self.ROBOT_LIBRARY_LISTENER = self
self.currentSuite = None
def _start_suite(self, data, suite):
data.name = "custom suite"
self.current_suite = data
That data.name line gives this warning:
robot: 2024-03-26 16:48:18 UTC pid: 10120 - MainThread - CRITICAL - robotframework_debug_adapter.debugger_impl
Robot Debugger Warning: SUITE - MySuite pop just by type. Actual request: SUITE - custom suite name
But in the robot report I can see still the original MySuite as a test suite, so it doesn’t change this.
if I put this to the _start_suite method:
suite.name = “Custom suite”
This gives no warning and the and in the execution console you can see this as new suitename BUT once I open the report, the old suitename remains.
I even checked the documentation here:
https://robot-framework.readthedocs.io/en/latest/_modules/robot/model/testsuite.html
Having said that, I am not a Python god, so I have probably an error in my thoughts somewhere, but this would be nice to resolve.