Настройка уровня выполнения и разрушение с помощью Robot Framework - PullRequest
3 голосов
/ 18 марта 2019

Я понимаю, что есть Test Setup, который будет выполняться перед каждым тестовым примером, и Suite Setup, который будет выполняться перед каждым набором (т. Е. Каждым файлом .robot).

Однако я пытаюсь сделатьSetup и Teardown командного уровня, который является Setup, когда я запускаю команду robot и после запуска всех наборов тестов запускаю Teardown.

Попытка иметь файл __init__.robot в моем каталоге сценариев, но они этого не сделалине вызывать вообще.

*** Settings ***

Resource  ../_common/keywords.robot

Suite Setup  Prepare Browser
Suite Teardown  Close Browser

Я хочу иметь возможность запускать браузер до начала любого теста, а затем закрывать браузер только после завершения всех тестов.

Например, robot 1.robot 2.robot должен:

  1. Открыть браузер
  2. Запустить 1.robot набор тестов
  3. Запустить 2.robot набор тестов
  4. Закрыть браузер

1 Ответ

3 голосов
/ 18 марта 2019

Вы можете сделать это, имея «специальные» наборы только для этого, и вызывать их первыми и последними в прогоне. С SeleniumLibrary, имеющей глобальную область видимости, браузер, инициализированный в первом, должен быть доступен для всех последующих наборов за один прогон.

например. Пакет «Startup.robot» откроет браузер, а «Closing.robot» закроет его, и любой из них будет использовать его:

robot Startup.robot 1.robot 2.robot Closing.robot

Когда вы передаете каталог для выполнения, каркас принимает файлы .robot в нем в алфавитном порядке, поэтому вы можете назвать эти специальные наборы "0000_Startup.robot" и "zzzz_Closing.robot" для их запуска в соответствующем порядок (если вы используете только имена файлов ascii / latin).


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

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