Как запустить метод после прохождения через тег в файле объектов? - PullRequest
2 голосов
/ 06 июня 2019

У меня есть сценарий в моем файле функций, который содержит два тега

@tag1, @tag2
  Scenario: This is a test
    Given I open the website
    When I log in
    Then the account page is open

Теперь @tag является частью бегуна безмятежности огурцов, и это работает изолированно (до реализации @ tag2):

@RunWith(CucumberWithSerenity.class)
@CucumberOptions(features="...features/", glue = {".../steps"}, tags = {"@tag1"} )
public class Tag1Runner extends Hooks {

    @BeforeClass
    public static void startAppium() {
        AppiumServerController.startAppiumServer();
    }

    @AfterClass
    public static void stopAppium() {
        AppiumServerController.stopAppiumServer();
    }

Теперь я также хочу запустить @ tag2, но он запускается только после завершения теста.Это связано с тем, что метод, который встречается в @ tag2, не должен быть частью сценария тестирования, но должен завершить очистку после выполнения теста.

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

Как я могу реализовать @ tag2 для работы, как указано?

public class Hooks{

    @After("@tag2")
    public void completeCleanUp() {

        //code to perform clean up...

    }
}

1 Ответ

0 голосов
/ 08 июня 2019

Если вы пытаетесь запустить ловушку After после каждого сценария, помеченного как "@ tag1" в вашем примере, вы должны пометить ловушку After после "@ tag1". Для получения дополнительной информации о помеченных крючках, пожалуйста, обратитесь к документации по огурцу .

...