Я новичок в Robot framework и пытаюсь лучше понять концепции и использование в Suite Setup и Suite Teardown , когда структура папок теста не"плоский".После долгих поисков в Интернете, руководство пользователя Robot Framework - выполнение раздела тестов , а также этот вопрос , который похож, но не совсем соответствует моей ситуации, я все еще не нашел никакого решения,Итак, поехали.
Мой проект теперь содержит следующие файлы:
_init__.robot
, который содержит Suite Setup
& Suite Teardown
«определения», следующим образом:
*** Settings ***
Library /path/to/some/python/file.py
Suite Setup myCustomSuiteSetup
Suite Teardown myCustomSuiteTeardown
*** Keywords ***
myCustomSuiteSetup
${ret_code} = run keyword MySuiteSetupKeyword
should be eqaul as integers ${ret_code} 0
myCustomSuiteTeardown
${ret_code} = run keyword MySuiteTeardownKeyword
should be eqaul as integers ${ret_code} 0
ГдеmyCustomSuiteTeardown
и MySuiteTeardownKeyword
- это ключевые слова, «связанные» с некоторыми функциями Python в файле /path/to/some/python/file.py
.
В моем проекте 4 файла набора в настоящее время расположены так:
|--tests
|----suite_1.robot
|----suite_2.robot
|----suite_3.robot
|----suite_4.robot
|----__init__.robot
Теперь цель (и использование) Suite Setup
& Suite Teardown
состоит в том, что Suite Setup
будет запускаться в начале запуска папки ENTIRE tests
, т.е. - до первый тестовый набор first suite, который в данном случае равен suite_1.robot
и Suite Teardown
будет работать после the последний тестовый набор последний наборов, который в данном случае равен suite_4.robot
.
Чтобы это произошло, я просто вызываю все наборы следующим образом (изв одной папке «выше» папки tests
):
robot tests
Пока все хорошо.
Теперь мой вопрос заключается в следующем: На самом деле я хочу"перестроить" народСтруктура тестовых файлов der, например, так:
|--tests
|----testGroup1
|--------suite_1.robot
|--------suite_2.robot
|----testGroup2
|--------suite_3.robot
|--------suite_4.robot
|--__init__.robot <----- Where the __init__.robot file should be placed now ?
Имеется в виду «собирать» наборы тестов в подпапки, тем не менее, я все еще хочу сохранить использование Suite Setup
& Suite Teardown
как и прежде, т. е. при вызове каждого возможного подмножества наборов тестов в «корневой» папке tests
, Suite Setup
и Suite Teardown
ДОЛЖНЫ быть первый и последний (соответственно) «шаги», которые должны быть выполнены, то естьнапример, допустим, я хочу запустить suite_3.robot
& suite_4.robot
, а затем, Suite Setup
должен быть вызван перед первым тестовым примером в suite_3.robot
и Suite Teardown
должен быть вызван после последнего тестового примера в suite_4.robot
.Также, конечно, я хочу сохранить только одну копию файла __init__.robot
- т.е. не хранить две одинаковые копии __init__.robot
в каждой подпапке, testGroup1
& testGroup2
.Когда я это сделал, это сработало, но это не тот способ, которым я хотел бы это сделать.
Итак, мои вопросы:
Где мне нужнопоместить файл __init__.robot
?
В случае, если я хочу запустить, например, только два набора тестов в testGroup2
(т.е. - suite_3.robot
& suite_4.robot
)Какую команду мне нужно использовать?
Конечно, в случае, если это не «правильный» способ (подход) для достижения моих целей (единый и единый Suite Setup
& Suite Teardown
для каждого подмножества тестовых наборов) - пожалуйста, посоветуйте, как это сделать.
Примечание: Я использую Robot Framework 3.1.2 (Python 3.5.2 в Linux)