Есть для примера два сценария один с тегом val2 другой val1
пишу в
@Before (value = “@val2”, order = 1), но сценарий все равно выполняется первый val1
Как решить не понимаю
Как мне запустить первым тот сценарий ,который мне нужен ?
если честно - немного удивлён, зачем в @Before вообще запускать какие-либо сценарии?
этот раздел необходим как подготовка к сценарию (как и раздел @After - действия ПОСЛЕ сценария)…
а что вам мешает вынести @Before/After в Hooks, а затем создать feature с нужным вам списком/последовательностью сценариев?
лично у меня в feature файле (последнее что делал на этой неделе) 6 сценариев, по сути одно и тоже, “но есть ньюансы”… в результате сценарии запускаются поочерёдно и если мне вдруг необходимо чтоб 2й сценарий выполнился 1м - я просто копи-пастом перемещаю его на место 1го сценария…
надеюсь помог
приблизительный пример:
Feature: blablabla
# переместил сценарий №2 на место №1... теперь при запуске этого
# feature файла - №2 будет выполнен первым, затем №1 и №3
Scenario: 002_testing
Given...
And...
Scenario: 001_testing
Given...
And...
Scenario: 003_testing....
но если для вас всё же критично именно в @Before засунуть, вот вам цитата из гайда по Кукумберу+Ява
Порядок выполнения
Хукам можно задать порядок, в котором они будут выполняться.
Для этого необходимо в аннотации указать параметр order.
По умолчанию значение order равно 10000.
Для Before чем меньше это значение, тем раньше выполнится метод:
@Before(order = 10)
public void connectToServer() {
//подключиться к серверу
}
@Before(order = 20)
public void prepareData() {
//подготовить данные
}
В данном примере первым выполнится метод connectToServer(), затем prepareData().