Я хочу получить доступ ко всем этапам сценария огурца в @before
хуке. Есть ли способ сделать это?
Я попытался передать объект сценария огурца в методе хука before, но он предоставляет только базовую информацию, такую как scenario.getName()
, scenario.getId()
. Мне нужно что-то вроде getSteps()
, которое дает мне List<String>
всех шагов этого конкретного сценария.
Я ищу что-то вроде этого
@Before("@dev")
public void testcase(Scenario scenario){
for (Step a : scenario.getSteps()) {
System.out.println("scenario step = " + a.getText());
}
}
Обычно мне нужна полная информация о сценарии в самом начале выполнения теста.
Если я передаю аргумент класса cucumber.api.TestCase в методе before, я могу получить доступ к методу getTestSteps()
, но это приведет к исключению ниже.
cucumber.runtime.CucumberException: When a hook declares an argument it must be of type cucumber.api.Scenario. public void com.thermofisher.bid.spa.kingfisher.ui.steps.Hooks.poc(cucumber.api.TestCase)
TestCase.getTestSteps
? - person supputuri   schedule 24.05.2019Before
используется для вызова перед выполнением сценария. Это можно сделать, чтобы записать, какой сценарий выполняется. Cucumber также предоставляетBeforeStep
хук, но вместо того, чтобы разрешать доступ кPickleStepTestStep
, он заставляет вас либо использовать без аргументов, либо один аргумент, который также должен быть объектом сценария. Это бесполезно в контексте Шага. Можно было бы предположить, что, если я хочу регистрировать информацию, относящуюся к шагу, можно использовать этот хук с аргументом PickleStep, чтобы вы могли регистрировать текст шага, номер строки и т. Д. - person hfontanez   schedule 27.08.2019