Java автотесты page object selenide

Ребят всем привет. Я джун джуном в атоматизации))Применяю page object на Java.Подскажите у меня есть страница с шестью обязательными полями.И в будущем переменных с данными будет еще больше.Мне нужно провести шесть тестов, вставляя каждый раз данные в эти поля.Каждый раз когда в какое то поле я намеренно не передаю данные должна быть проверка на обязательность этого поля.Может есть какой то механизм в который я смогу занести все свои инициализированные переменные с данными.И в каждом методе их применять на обязтельность а не копипастить.Вот у меня файл степы.В TrackerPage у меня есть сценарий чтобы применять эти методы с данными.Спасибо)))

package stepdefs;

import Pages.AutorizationPage;
import Pages.TrackerPage;
import Pages.UsersPage;
import com.codeborne.selenide.Selenide;

import cucumber.api.java.ru.Дано;
import cucumber.api.java.ru.И;
import cucumber.api.java.ru.Когда;
import cucumber.api.java.ru.Тогда;

import java.util.List;
import java.util.Map;

public class TrackerTestSteps {
    private AutorizationPage autorizationPage = Selenide.page(AutorizationPage.class);
    private TrackerPage trackerPage = Selenide.page(TrackerPage.class);
    private UsersPage usersPage = Selenide.page(UsersPage.class);

    @Дано("^Пользователь авторизуется на сайте трекера$")
    public void authorize() {
        autorizationPage.clickAuth();
        autorizationPage.switchWindow(1);
        autorizationPage.setMailInput("asdasddasd");
        autorizationPage.clickNext();
        autorizationPage.setPassword("adsdasda");
        autorizationPage.clickNext();
        autorizationPage.switchWindow(0);
    }

    @И("^Пользователь создает задачу с (параметрами|некорретными параметрами)$")
    public void createTask(String s,Map<String, String> map) {//входной параметр
        trackerPage.setNameInput(map.get("Название"));
        trackerPage.setStartTime(map.get("Время начала"));
        trackerPage.setEndTime(map.get("Время конец "));
        trackerPage.setProjectName(map.get("Проект"));
        trackerPage.setInputLink(map.get("Ссылка на задачу"));
        trackerPage.setDescription(map.get("Описание задачи"));
        trackerPage.clickAddTimeButton();
    }

    @Тогда("^задача создана корректно$")
    public void verifyTask() {
        trackerPage.verifyTask();
    }

    @Тогда("^авторизация прошла успешно$")
    public void verifyAuth() {
        autorizationPage.verifyAuth();
    }

    @Когда("^Пользователь переходит на страницу Пользователи$")
    public void goToUsersPage() {
        trackerPage.clickMenuButton();
        trackerPage.clickUserPage();//клик на юзерпейдж
    }

    @И("^Вводит в поле поиска (.*)$")
    public void writeTextSearchField(String text) {
        usersPage.setSearchField(text);//вводим текст в searchField
    }

    @Тогда("^результат поиска содержит (.*)$")
    public void searchResult(String text) {
        usersPage.verifySearch(text);
    }

    @Тогда("^пользователь ищет по параметрам и убеждается в успехе$")
    public void verifySuccessSearch(List<String> textList) {
        for (String s:textList){
            usersPage.setSearchField(s);
            usersPage.verifySearch(s);
        }
    }

    @Тогда("^пользователь получает уведомление о неккорректной ссылке$")
    public void verifyErrorNotification () {
            trackerPage.verifyErrorNotification();
    }
}

Ответы (0 шт):