t.me/atinfo_chat Telegram группа по автоматизации тестирования

Cucumber: after-feature. Строка фичи которая выполнится в конце даже если в средине вылетел error

bdd
cucumber
webdriver
Теги: #<Tag:0x00007f9c4c999ef0> #<Tag:0x00007f9c4c999db0> #<Tag:0x00007f9c4c999c70>

(Юра Куськов) #1

Можно ли создать в cucumber сценарии такую фичу, которая обязательно выполнится даже если в середине сценария вылетит ошибка?

Типа:

Когда пользователь сделал шаг 1 - Успех
Когда пользователь сделал шаг 2 - Успех
Когда пользователь сделал шаг 3 - Неудача
Когда пользователь сделал шаг 4 - Не был запущен
After пользователь зашел в ЛК и удалил свои документы

Я знаю что в классе CucumberTestBeforeAndAfter есть аннотация After, но это для всех тестов, а мне надо сделать такое лишь для одного из всех…


(Vasiliy Rakshin) #2

Насколько я понял - нет. Используйте теги - https://docs.cucumber.io/cucumber/api/#tagged-hooks
Например, набор тестов с одним тегом, и для такого тега - афтерТест - там сделать то что нужно для этих тестов.


(Valentin G ) #3

Возможно, этот пример именно то, что вам нужно: https://github.com/Ukrainis/SeleniumCucumberTestFramework/blob/master/src/test/java/utils/Hooks.java . Это мой маленький эксперимент с фреймворком.


(Сергей Слётов) #4

Если еще актуально:

Можно в аннотации After задать тег, и для всех сценариев помеченных этим тэгом оно выполниться, а для остальных - нет.

@After("@yourtag")

Так же оно работает для @Before, @BeforeStep, @AfterStep