Кастомизация шагов

Изменение шаблонов шагов

В Allurium шаги тестов логируются в отчёт автоматически, но если необходимо изменить их описание, это можно сделать с помощью файла allurium-steps.yml

Например, изменим описание шага assertVisible в репортах на английском языке. Это один из самых часто используемых ассертов, присутствующий у любого элемента.

Находим соответствующую запись в файле allurium-steps.yml:


assert_visible:
  1: "Assert that the {name} {element} is visible"
  2: "Assert that the {name} {element} of {parent} is visible"
      

Где:

Изменим шаблон:


assert_visible:
  1: "Lets check that the {name} {element} is really visible"
  2: "Lets check that the {name} {element} of {parent} is really visible"
      

Добавим в тест fillTheForm вызов assertVisible


@Test
@Feature("Form")
@DisplayName("Filling the example form")
public void fillTheForm() {
    // .. existing code

    formPage.fieldLogin().assertVisible();
    formPage.fieldLogin().write("John");

    // the rest of the code...
}
      

Запускаем тест и смотрим отчёт:

Отчёт с изменённым шагом

Другие доступные переменные

В файле allurium-steps.yml помимо рассмотренных переменных {name} {element} {parent} есть и другие.

Пример шага assert_has_css_class


assert_has_css_class:
  1: "Assert that the {name} {element} has the CSS class {clazz}"
  2: "Assert that the {name} {element} of {parent} has the CSS class {clazz}"
      

Где {clazz} — CSS-класс элемента.

Используется так:


formPage.fieldLogin().assertHasCssClass("form-control");
      

Другой распространённый пример — работа с текстом, обозначается - {text} :


write:
  1: "Write \"{text}\" to the {name} {element}"
  2: "Write \"{text}\" to the {name} {element} of {parent}"
      

Этот шаблон используется при вводе текста:


formPage.fieldLogin().write("John");
      

Остальные переменные в шаблонах должны быть интуитивно понятны.