Объект поля ввода¶
Полем ввода считается элемент интерфейса, связанный с редактором атрибута записи выборки.
Библиотека предоставляет набор классов полей ввода для взаимодействия со стандартными типами редакторов:
Редакторы¶
Каждый класс поля ввода реализует интерфейс AbstractEditor.
В этом интерфейсе объявлены методы получения и установки значения.
Object value = field.value();
field.setValue("new_value");
Данные методы позволяют программно считывать и устанавливать значения в любом редакторе поля.
application.mainForm().mainMenu().item("MM_GSAUTO_UNITCASES", "MM_GSAUTO_UNITCASES_EDITORS_GRID").click();
Form form = application.waitMdiForm("gtk-ru.bitec.app.gs3.qa.gsauto.Gs3_QaGsAuto_Units_Editors_Card", "List");
Frame frame = form.mainSelection().layout().frame();
FilterPanel filters = frame.filters();
Object oldValue = filters.field("FLT_PMEMOBOX").value();
filters.field("FLT_PMEMOBOX").setValue("updated " + oldValue);
Редакторы с кнопками¶
При нажатии кнопки в “редакторе с кнопками” обычно отображается выпадающая панель.
Каждый редактор с кнопками, нажатие на которые приводит к отображению выпадающей
панели, реализовывает программный интерфейс WithDropDown.
Интерфейс декларирует метод waitDropdown(),
возвращающий объект, представляющий отображенную панель.
Пример использования редактора с кнопками:
application.mainForm().mainMenu().item("MM_GSAUTO_UNITCASES", "MM_GSAUTO_UNITCASES_EDITORS_CARD").click();
Form form = application.waitMdiForm("gtk-ru.bitec.app.gs3.qa.gsauto.Gs3_QaGsAuto_Units_Editors_Card", "Card");
Card card = form.mainSelection().layout().frame().view().as(Card.class);
ComboBox<?> field = card.field("PLOOKUPCOMBOBOXHL");
List<AbstractButtonsInputBox.InboxButton> buttons = field.buttons();
AbstractButtonsInputBox.InboxButton button = buttons.get(0);
button.click();
GridDropDown dropDown = field.waitDropdown();
В примере продемонстрирован вызов панели со списком.
Библиотека предоставляет классы для стандартных типов выпадающих панелей:
Выбранная дата календаря¶
Added in version 1.2.1.
Метод getSelectedDate()
возвращает дату, выбранную в выпадающем календаре. Переходы по календарю (на месяц, год, неделю или день)
сдвигают выбранную дату, поэтому результат перехода проверяется сравнением с датой, вычисленной от исходной.
DateTimeBox field = card.field("PDATETIMEBOX");
field.buttons().get(0).click();
DateDropDown dropDown = field.waitDropdown();
dropDown.today();
dropDown.prevMonth();
Assertions.assertEquals(LocalDate.now().minusMonths(1), dropDown.getSelectedDate());
Warning
Метод требует сервер приложений, который размечает ячейку выбранного дня data-атрибутом
data-date.selected. На сервере без этой разметки метод бросает
ElementNotFoundException.