@durygin Благодарю за развернутый ответ и обозначенный тонкий момент: “Но Вы не сможете добраться до пункта меню, если он скрыт - Вам нужно будет сначала раскрыть пункты меню родителя, а затем открыть пункт потомка”.
Разобрался…
Свойство cuba.testMode
было включено и с обнаружением по cuba-id
стандартных пунктов меню (которые есть в web-menu.xml) проблем не было.
Но у нас еще реализовано собственное отображение папок приложения в SideMenu
.
Мы создаем новые MenuItem по имени папки приложения:
childMenuForAdd = sideMenu.createMenuItem(appFoldersIten.getName());
А далее назначаем для menuItem команду с вызовом метода открытия соответствующей папки приложения.
И тут я упустил момент, что по факту мы этим определяем menuItem.id
, который и отображается непосредственно в sideMenu
как Видимое пользователю наименование пункта.
Далее у я видел в текущей документации описание метода MenuItem#setTestId
: “setTestId - устанавливает значение cuba-id
для тестирования UI”.
Т.е. вроде как можно задать cuba-id
для пункта меню не совпадающий с menuItem.id
, и который не будет зависеть от того, как отображается пункт в меню.
Но в текeщем API этого метода не обнаружил.
И после этого мои глаза отказались видеть в разметке атрибуты типа cuba-id="Заказы/Ком.предложения"
ожидая увидеть все же некий “технический” англоязычный вид.
Но в нашем случае, использование таких cuba-id
в коде тестов не особо надежнее использования xPath…
По факту имя папки приложения - штука достаточно непостоянная и больше связана с тем, как удобнее отображать имя папки для Пользователя.
Возможность задать отдельный стабильный cuba-id
для пункта меню, используя метод типа MenuItem#setTestId
была бы очень полезной.
Может стоит вернуть метод в Jmix?
Или добавить в menuItem
отдельное свойство вроде name
для отображаемого имени пункта меню?
Тогда menuItem.id
будет стабильным техническим id, который может быть использован и при тестировании, а name
будет отвечать за отображаемое пользователю имя пункта меню, которое возможно будет меняться в зависимости от локали.
И еще вопрос про судьбу addon Masquerade - планируется его портировать на Jmix с добавлением обёрток для актуальных ходовых элементы управления?
В текущей версии Masquerade нет оберток для многих ходовых элементов Cuba 7.x и сам addon не обновлялся уже год.
Очень нехватает оберток как минимум для OptionsGroup
, SuggestionPickerField
, SuggestionField
…