Как динамически установить ROBOT_LIBRARY_SCOPE в среде роботов - PullRequest
0 голосов
/ 08 мая 2019

Есть ли способ определить ROBOT_LIBRARY_SCOPE = 'GLOBAL' при динамическом создании тестов?

В настоящее время мне нужно определить ROBOT_LIBRARY_SCOPE в классе моей библиотеки , но я бы хотелопределили его при создании тестового примера.

Например, я попытался, добавив в импортированную Библиотеку свойство класса:

suite.resource.imports.library('MyLib.py')
suite.resource.imports[-1].__class__.ROBOT_LIBRARY_SCOPE = 'GLOBAL'
# or with set attribute:
setattr(suite.resource.imports[-1].__class__, 'ROBOT_LIBRARY_SCOPE', 'GLOBAL')

И я также попытался добавить класссвойство созданного TestCase:

testCase = suite.tests.create('MyTest')
testCase.__class__.ROBOT_LIBRARY_SCOPE = 'GLOBAL'
# or with set attribute:
setattr(testCase.__class__, 'ROBOT_LIBRARY_SCOPE', 'GLOBAL')

Но во время выполнения теста эти свойства класса не влияют на реальный ROBOT_LIBRARY_SCOPE.

1 Ответ

0 голосов
/ 28 мая 2019

Я предложил реализацию для установки ROBOT_LIBRARY_SCOPE при импорте пользовательских библиотек: https://github.com/manosnoam/robotframework/commit/98f62c4b29d399cdc16b39bb61e10f835c27c48e

После слияния моего патча вы сможете позвонить, например:

suite.resource.imports.library('YourLib.py', scope='TEST SUITE')

Вместо установки ROBOT_LIBRARY_SCOPE в классе YourLib:

ROBOT_LIBRARY_SCOPE = 'TEST SUITE'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...