Закидываем туда обект из дата-провайдера и раскидываем поля по филдам - всё ок
но если нужно скипать не обязательные поля - передавать Null
можно например сделать проверки “некошерные”
if (entity.isActive != null) {
isActiveCheck.setSelected(entity.isActive);
}
или обернуть сам вызов создав медод для setSelected который будет проверять на Null
public static void fillText(SelenideElement element, String text) {
if (null != text) {
element.setValue(text);
}
}
Может есть более красивые варианты?
@asolntsev поправьте если ошибаюсь - экшены кидают нульпойнтер/ на насчёт опции ingnoreIfNull ?
Вы не один такой, если что. Это очень популярное мнение.
Но оно основано на неверных предположениях.
Кто сказал, что перегрузка - это плохо? Нифига не плохо.
Кто сказал, что несколько разных методов (пусть и внешне похожих) - это копипаста? Нифига не копипаста. Это разные методы. У них разные задачи и разная логика. Вот и нефиг создавать ложное впечатление, будто это один метод.
Кто сказал, что объём кода в этих ваших эксельках (или откуда вы читаете данные) будет меньше, чем в моём варианте? Нифига не меньше. Но зато в моём варианте всё гораздо проще и надёжнее. Автоматически решены все эти вопросы типа “а как мне проверить на null” и т.п.
Что такое вообще “объект зашёл в него”? Объект никуда не заходит. Объект выполняет методы, которые вы вызываете. Никакой магии нет. Есть только код, который вы сами написали. И чем он проще, тем надёжнее.