Миграция с 7.24 на 7.25
Изменения в сборке
- Обновление версии Selenide c 6.6.0 на 6.14.0
- Произведен полный переход с JUnit 4 на JUnit 5.
- Механизм чтения из Groovy файлов был полностью удален.
Изменения в XML API
- Прекращена поддержка схемы
object-3.0. - Прекращена поддержка схемы
application-1.0. - Прекращена поддержка deprecated атрибута
nameв<form-param>. Вместо него необходимо использовать атрибутid. - Удален атрибут
hide-overflowполя<code>. - Прекращена поддержка компонента
<pills>. - Упразднен атрибут
table-size(размер строк таблицы), регулировать размер строк необходимо с помощью стилей. - Упразднен атрибут
checkboxes(наличие чекбоксов в первом столбце таблицы). Этот функционал можно реализовать с помощьюselection="checkbox" - Упразднен атрибут
check-on-select(срабатывание (включение/выключение) чекбокса при клике по строке) у таблицы. Теперь при клике по строке с установленнымselection="checkbox"будет, либо срабатывать действие (если оно задано), либо выбираться чекбокс строки. - Упразднен атрибут
hide-on-blur(Скрытие ячейки при наведении на строку) у колонок таблицы. Функционал больше не поддерживается. - Был добавлен функционал прокидывания тулбаров на открываемую страницу. В связи с чем были внесены следующие изменения.
- Кнопки с действиями открытия страниц теперь нельзя скрывать по точке доступа
<object-access>. Вместо этого используйте<page-access>или<url-access>. - Упразднены атрибуты
confirm,confirm-text,submit-labelопераций объектов. - Упразднены атрибуты
submit-operation-id,submit-message-on-success,submit-message-on-fail,submit-model,submit-labelс сохранением обратной совместимости.
Вместо submit-operation-id рекомендуется использовать кнопку с invoke действием.
Атрибуты submit-message-* заменяются их аналогами из invoke.
Пример, как работало в версии 7.24 и ниже
<show-modal page-id="personCard"
submit-operation-id="update" submit-label="Сохранить"
submit-message-on-success="Данные сохранены" submit-message-on-fail="Данные не удалось сохранить"/>
Пр имер, как работает в версии 7.25
<show-modal page-id="personCard">
<toolbars>
<toolbar>
<button label="Сохранить">
<invoke operation-id="update" message-on-success="Данные сохранены" message-on-fail="Данные не удалось сохранить"/>
</button>
</toolbar>
</toolbars>
</show-modal>
- Упразднены атрибуты
close-after-submit,redirect-target-after-submit,refresh-after-submitс сохранением обратной совместимости.
Вместо этих атрибутов используйте более гибкий механизм мультидействий.
Вариант 1: submit + refresh + close
Пример как работало в версии 7.24 и ниже
<show-modal page-id="personCard" submit-operation-id="update" close-after-submit="true" refresh-after-submit="true"/>
Пример как работает в версии 7.25
<show-modal page-id="personCard">
<toolbars>
<toolbar>
<button label="Сохранить">
<invoke operation-id="update"/>
<refresh datasource="parentDs"/>
<close/>
</button>
</toolbar>
</toolbars>
<datasources>
<parent-datasource id="parentDs"/>
</datasources>
</show-modal>
Вариант 2: submit + redirect
Пример как работало в версии 7.24 и ниже
<show-modal page-id="personCard" submit-operation-id="update" redirect-target-after-submit="/main"/>
Пример как работает в версии 7.25
<show-modal page-id="personCard">
<toolbars>
<toolbar>
<button label="Сохранить">
<invoke operation-id="update"/>
<a href="/main" target="application"/>
</button>
</toolbar>
</toolbars>
</show-modal>
- Упразднены атрибуты копирования
submit-action-type,copy-datasource,copy-model,copy-field-id,target-datasource,target-model,target-field-id,copy-mode,target-pageс сохранением обратной совместимости.
Используйте действие <copy>.
Пример как работало в версии 7.24 и ниже
<show-modal page-id="personCard" submit-action-type="copy" copy-datasource="modal_ds" target-datasource="ds1"/>
Пример как работает в версии 7.25
<show-modal page-id="personCard">
<toolbars>
<toolbar>
<button label="Копировать">
<copy copy-datasource="modal_ds" target-datasource="ds1"/>
</button>
</toolbar>
</toolbars>
<datasources>
<parent-datasource id="ds1"/>
</datasources>
</show-modal>
Изменения функциональности
- Изменилась логика формирования идентификатора виджета в
<simple-page>. Раньше, если он не был указан в xml, то генерировалось значение равноеmain. Теперь идентификатор формируется также, как и у<page>: 'w' + индекс.
note
Если где-то в route использовался main, то необходимо проверить не является ли он сгенерированным идентификатором виджета.
Изменения в API автотестов
- Все методы проверки значений были расширены необязательным атрибутом Duration (таймаут проверки). В связи с чем методы, использующие в качестве аргумента varargs тип, теперь используют массив.
Пример: shouldHaveOptions(String... values) -> shouldHaveOptions(String[] values, Duration... duration)