Как запустить все сценарии одного и того же файла функций в одном браузере? используя селен, java, огурец

Я использую хуки @Before (to initialize browser instance) и @After (to close browser instance), что означает, что если в файле функций есть три сценария, браузер будет открываться три раза и закрываться три раза.

Я хочу запустить все три сценария в одном экземпляре браузера.


person bugCracker    schedule 26.07.2018    source источник
comment
есть ли такая зацепка, как «прежде всего» и «после всего» или «до сценария» и «после сценария». Я никогда не использовал огурец, указанные хуки взяты из поведения, пакета реализации python BDD. Я думаю, что в Cucumber должно быть что-то подобное, что вы могли бы использовать.   -  person Satish    schedule 26.07.2018
comment
Нет, в огурце есть только два хука @Before и @After, которые выполняются до и после каждого сценария соответственно.   -  person bugCracker    schedule 27.07.2018
comment
Да, похоже, что Cucumber-JVM не поддерживает хуки Around.   -  person Satish    schedule 27.07.2018
comment
Возможный дубликат запуска всех сценариев огурца для функции за один сеанс браузера   -  person MikeJRamsey56    schedule 27.07.2018
comment
это немного другое.   -  person bugCracker    schedule 28.07.2018


Ответы (1)


Cucumber предоставляет фон, который позволяет вам настроить все перед выполнением тестов.

Официальная документация находится здесь. Прокрутите вниз до фона (или CTRL+F background x3).

Файл функций:

Background:
   Given browser is initialized.

Scenerio: Test 1
   Then browser is running.

И вы можете написать определение шага, как обычно.

person CeePlusPlus    schedule 27.07.2018
comment
Пожалуйста, проверьте вопрос. - person bugCracker; 28.07.2018
comment
Фон запускается один раз. Насколько я понимаю, фон вашего вопроса будет работать для вас - инициализируйте его и установите для него переменную в вашем определении шага. Используйте переменную для другого теста, тогда окончательный сценарий может закрыть браузер. Однако, если вы чувствуете, что хотите подражать @BeforeAll и @AfterAll из Junit, мне повезло с stackoverflow.com/a/51566725/4867303< /а> - person CeePlusPlus; 30.07.2018
comment
background запускается перед каждым сценарием в файле функций. - person bugCracker; 30.07.2018
comment
Я исправляюсь, извиняюсь. В глубине души @Before было за это, но в основном они одинаковы. Поэтому я бы попробовал ссылку, которую я разместил, которая позволяет вам запускать что-то до и после всех тестов. Тем не менее, возможно ли просто объединить ваши сценарии в 1 сценарий с несколькими Then или Scenario Outline? - person CeePlusPlus; 30.07.2018
comment
На самом деле более простое решение - поставить его в фоновом режиме. Есть одна функция, которая проверяет, инициализирован ли браузер, и если да, то инициализируйте его. Первый сценарий, в котором работает функция, в других сценариях функция замыкается. - person CeePlusPlus; 30.07.2018