JQuery Select2 - как настроить идентификатор, чтобы быть предсказуемым - PullRequest
0 голосов
/ 09 апреля 2020

Я искал здесь и на форуме Select2 и нашел только один ответ, касающийся вопросов, связанных с автоматизацией тестирования и динамической c природой идентификатора, генерируемого Select2. AFAIK в моей компании, мы используем Select2, интегрированный с Bootstrap 3.7, и для некоторых случаев использования Select2 мы сделали те же самые выводы здесь -> https://medium.com/@kcmueller.

Я готовлю вебинар по автоматизации тестирования с использованием TestCafe & TestCafe Studio, и при попытке использовать эту страницу -> Select2 Github ChangeLog Page в качестве игровой площадки, я видел, что при выборе с группами опций id создается так, что кажется случайным / динамическим c способом, что делает невозможным любой вид автоматизация, которая не зависит от поиска / щелчка по позициям.

Кроме того, я не могу найти документацию, объясняющую, как генерируется идентификатор основного элемента select2. В примере страницы Select2 идентификатор s2id_e1 для простого выбора с идентификатором e1.

enter image description here

Я очень смущен, потому что я не могу найти какую-либо документацию, которая позволит Мне нужно понять, какой алгоритм используется, если алгоритм изменяется в зависимости от выбранных характеристик: одиночный выбор, множественный выбор, группы параметров.

Надеюсь, мое объяснение понятно. Любой намек? Любая документация? Любой вариант, кроме разработки какого-либо адаптера, как я прочитал в единственном посте, который я нашел относительно автоматизации тестирования?

Большое спасибо

1 Ответ

2 голосов
/ 09 апреля 2020

Я не знаю, можно ли заставить Select2 генерировать согласованные идентификаторы, но это не проблема, если вы используете TestCafe. TestCafe предоставляет множество способов найти элемент независимо от его идентификатора и позиции. Например, элемент, выделенный на скриншоте, доступен через Selector('.select2-choice > span').withExactText('Alaska'). Полное описание селекторов TestCafe можно найти здесь .

...