RobotFramework Как удалить импортированный ресурс из test suite scope?

В цикле теста импортируется ресурс с кейвордами через ключевое слово Import Resource (BuiltIn).
На последнем шаге данной итерации требуется удалять импортированный ресурс, так как в следующей итерации цикла импортируется новый ресурс и так далее.
Суть проблемы в том, что импортированные ресурсы все остаются в test suite scope, а, поскольку, кейворды идентичные, то берутся они из первого импортированного ресурса, что для условий теста недопустимо.

Может быть кто-нибудь подскажет, как можно было бы решить такую проблему?
Что-от похожее на Delete Resource отсутствует в библиотеке.

интересно у Вас построены тесты… А не приведёте ли пример задачи, которая решается так? Возможно, стоит сделать редизайн тестов вместо поиска таких финтов

У меня 100+ игр. На данный момент для каждой игры существует свой сьют тестов, куда импортируется все, что необходимо, в том числе ресурсный файл с кейвордами для данной игры.
Есть реализация общих кейвордов с возможностью их имплементации в конкретной игре.
например:
Check Game State Impl
Call Default Or Own Check Game State Check Game State Default

Поступила задача написать один тест, который будет в цикле запускать все игры и прогонять тест кейс (на проверку, допустим, какой-нибудь фичи) для каждой игры.

Соответственно каждый раз я получаю путь к ресурсу с кейвордами для запущенной игры и хочу, чтобы в этот момент использовался только он. При запуске следующей игры я хочу иметь активным соответствующий ей robot файл.

Есть еще кейворд Set Library Search Order. В него вроде можно передавать имена ресурсов.

Возможно, подойдет такой вариант

Например, есть 2 ресурса, в которых находится киворд “Cool Keyword”:

  • 1_resource.robot
  • 2_resource.robot

Соответственно, тест кейс с циклом может выглядеть так:

*** Test Cases ***
Cool Test Case
    :FOR    ${i}    IN    1    2
    \    Import Resource    ${CURDIR}/${i}_resouce.robot
    \    Run Keyword    ${i}_resource.Cool Keyword
    \    Run Keyword    ${i}_resource.Another Cool Keyword

Т.е. каждый вызов киворда в цикле будет начинаться с Run Keyword ${resource_name}.your_keyword, где переменная ${resource_name} должна принимать новое значение в каждой итерации цикла.

Рабочим вариантом тогда будет создать переменную @{resources} в секции ***Variables ***, и цикл соответственно будет выглядеть так:

 :FOR    ${resource}    IN    @{resources}
 \    Import Resource    ${resource}
 \    Run Keyword    ${resource}.Cool Keyword
1 лайк

Такой вариант, посмотрю, обдумаю.
Но пока что Вы меня натолкнули на другую мысль, как можно такой механизм вкрутить.
Спасибо!

Что-то не понятно, зачем запускать тесты в цикле )
Разбейте их по папкам, а потом натравите RF на эти папки.
Можно использовать файл init.robot в котором все общие ресурсы пропишете.