从侦听器为特定套件对象设置套件变量
set suite variable from listener for specific suite object
我正在 运行 上创建动态测试套件,如下所示。它工作正常。但是我不知道如何为动态创建的套件对象设置套件变量。 BuiltIn().set_suite_variable("${FOO}", "Bar")
似乎也不适用于当前套件。我不需要为当前套件设置变量,而是为特定的子套件对象设置变量。请帮忙
from robot.libraries.BuiltIn import BuiltIn
class DynamicTestLibrary(object):
ROBOT_LISTENER_API_VERSION = 3
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
ROBOT_LIBRARY_VERSION = 0.1
def __init__(self):
self.ROBOT_LIBRARY_LISTENER = self
self.top_suite = None
def _start_suite(self, suite, result):
self.top_suite = suite
self.children = list(suite.suites)
def add_test_cases(self, *versions):
suitesAll = []
for version in versions:
for suite2 in self.children:
suiteCopy = suite2.copy()
print(version)
print(suiteCopy.name)
suiteCopy.name = suiteCopy.name + version
BuiltIn().set_suite_variable("${FOO}", "Bar") #should be set for suiteCopy
suitesAll.append(suiteCopy)
self.top_suite.suites = suitesAll
globals()[__name__] = DynamicTestLibrary
我找到了解决方案。
suiteCopy.keywords.create('Set Suite Variable', args=['${RAFOO}', 'activated','children=true'], type='setup')
版本 > 4.0
suiteCopy.setup.config(name='Set Suite Variable', args=('${RAFOO}', 'activated','children=true'))
我正在 运行 上创建动态测试套件,如下所示。它工作正常。但是我不知道如何为动态创建的套件对象设置套件变量。 BuiltIn().set_suite_variable("${FOO}", "Bar")
似乎也不适用于当前套件。我不需要为当前套件设置变量,而是为特定的子套件对象设置变量。请帮忙
from robot.libraries.BuiltIn import BuiltIn
class DynamicTestLibrary(object):
ROBOT_LISTENER_API_VERSION = 3
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
ROBOT_LIBRARY_VERSION = 0.1
def __init__(self):
self.ROBOT_LIBRARY_LISTENER = self
self.top_suite = None
def _start_suite(self, suite, result):
self.top_suite = suite
self.children = list(suite.suites)
def add_test_cases(self, *versions):
suitesAll = []
for version in versions:
for suite2 in self.children:
suiteCopy = suite2.copy()
print(version)
print(suiteCopy.name)
suiteCopy.name = suiteCopy.name + version
BuiltIn().set_suite_variable("${FOO}", "Bar") #should be set for suiteCopy
suitesAll.append(suiteCopy)
self.top_suite.suites = suitesAll
globals()[__name__] = DynamicTestLibrary
我找到了解决方案。
suiteCopy.keywords.create('Set Suite Variable', args=['${RAFOO}', 'activated','children=true'], type='setup')
版本 > 4.0
suiteCopy.setup.config(name='Set Suite Variable', args=('${RAFOO}', 'activated','children=true'))