Hi baxatob,
that's OK, but take a look at what I'm doing with ODT and You will see.
ODT is generic, the ODT tree can be changed during runtime. I use this to implement generic standard tests for functions which work similar e.g. with different dialogs. I've implemented this in a way that even provides me hierarchical standard tests.
Would You use generic mechanisms in Phyton? It can be done e.g. in VBA, I know. You generate scripting code during runtime, execute it, and maybe delete it afterwards. These are highly sophisticated solutions, but: are they clearly readable and understandable?
Of course, You can avoid generic mechanisms. Just add all the options in Your testing code and execute these blocks on condition.
The advantage of the generic ODT solution is: The ODT tree is adapted. After the test, it reflects 1:1 the log tree, so I get maximum transparency. ODT provides a model based test control flow. Model based working is superior to purely sourcecode based work, [IMHO].