我有一个简单的预运行修改器,start_suite
它实现了从变量中获取套件设置关键字suite
并打印其属性的功能。该对象是类的实例robot.running.model.Keyword
,这是该类的文档。name
、关键字和type
属性是正确的id
,parent
但timeout
、doc
、tags
、children
属性不返回任何内容。keywords
它与和属性相同messages
。下面是我的简化代码示例和输出。
我希望有以下子项:Log、Log Many、No Operation。是否可以像这样在预运行修饰符中获取这些关键字的名称(和参数)?我正在使用 robotframework==3.1.2。
这是套件文件 (test.robot):
*** Settings ***
Suite Setup Custom Suite Setup Keyword
*** Test Cases ***
A test
No Operation
*** Keywords ***
Custom Suite Setup Keyword
[Timeout] 2 min
[Documentation] It is a keyword doc.
[Tags] 1TAG 2TAG
Log 1st child
Log Many 2nd child
No Operation
[Teardown] My Keyword Teardown
My Keyword Teardown
Log teardown
这是预运行修改器 (modifier.py):
from robot.api import SuiteVisitor
from robot.libraries.BuiltIn import BuiltIn
class MyModifier(SuiteVisitor):
def __init__(self):
self._BuiltIn = BuiltIn()
def start_suite(self, suite):
self._BuiltIn.log_to_console(f'suite keywords - {suite.keywords}')
self._BuiltIn.log_to_console(f'class - {type(suite.keywords.setup)}')
self._BuiltIn.log_to_console(f'name - {suite.keywords.setup.name}')
self._BuiltIn.log_to_console(f'id - {suite.keywords.setup.id}')
self._BuiltIn.log_to_console(f'parent(suite) - {suite.keywords.setup.parent}')
self._BuiltIn.log_to_console(f'timeout - {suite.keywords.setup.timeout}')
self._BuiltIn.log_to_console(f'type - {suite.keywords.setup.type}')
self._BuiltIn.log_to_console(f'doc - {suite.keywords.setup.doc}')
self._BuiltIn.log_to_console(f'tags - {suite.keywords.setup.tags}')
self._BuiltIn.log_to_console(f'children - {suite.keywords.setup.children}')
素胚勾勒不出你
aluckdog
相关分类