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

Метод @Before будет выполняться перед каждым сценарием. Есть ли у нас аннотация, где он запускается перед любым сценарием, и аннотация после того, как все сценарии были выполнены?

2 ответа

Решение

Вы можете использовать gerkin с qaf, где вы можете использовать различные слушатели TestNG и аннотации. В дополнение к этому, если вы используете webdriver, вы можете получить дополнительную поддержку драйверов и слушателей элементов. Например

package my.test.pkg
public class MyClass{
    @BeforeSuite
    public void beforeSuite() {
       //get executed before suite
    }

    @BeforeTest
    public void beforeTest() {
       //get executed before each xml test

    }
    @BeforeMethod
    public void beforeMethod() {
       //get executed before each test case/scenario

    }
    @BeforeGroups(["p1","p2"])
    public void beforeMethod() {
       //get executed before group

    }
    //same for after methods @afterXXXXX

 }

Вам нужно добавить класс в конфигурационном файле:

<test name="Gherkin-QAF-Test">
   <classes>
      <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
      <class name="my.test.pkg.Myclass" />
   </classes>
</test>

Этот пример не использует слушателей. Вы также можете использовать разных слушателей.

Как указано в комментариях, огурец не имеет готового решения для этого.

Но вы можете создать ловушку before для запуска только один раз, используя статический флаг.

private static boolean skipFlag = false;

@Before
public void beforeHook() {

    if(!skipFlag) {
        do stuff
        skipFlag=true;
    }
}

Изменить Before крюк для запуска для определенных тегов и т.д..

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

Другие вопросы по тегам