Selenide: Как унифицировать поиск элемента по cssValue(color) для firefox и chrome?

Для chrome поиск работает только так:
$$(coloredGroupSections).findBy(cssValue(“background-color”, “rgba(254, 177, 48, 1)”)).click();

а для firefox только:
$$(coloredGroupSections).findBy(cssValue(“background-color”, “rgb(254, 177, 48)”)).click();

Подскажите пожалуйста есть ли унифицированный способ поддержки обоих браузеров с помощью одного кода?

никто не сталкивался? :confused:

моё предложение не решение… а workaround:

поставьте if в зависимости от браузера… если хром по одной ветке
если фф - по другой

1 лайк

спасибо за workaround, тоже думаю о этом

@asolntsev подскажите пожалуйста, не предвидится ли в Селениде фича для кондишна cssValueMatching (по аналогии с attributeMatching)?

тогда бы я бы смог решить вопрос для обоих браузеров регуляркой:
$$(coloredGroupSections).findBy(cssValueMatching(“background-color”, “rgb(a)?\(254, 177, 48(, 1)?\)”)).click();

Такой поиск можно сделать, конечно. Это несложно.

Но я бы не советовал использовать такой поиск. Ведь это сделает ваши тесты крайне нестабильными. Малейшее изменение дизайна или логики браузера - и тесты сломаются. Лучше найти/сделать нормальный селектор - имя класса или айдишку.

1 лайк

Согласен, наверное вы правы, похоже я пытаюсь костыльнуть)
Попрошу команду разработки сделать айдишники
Спасибо за ответы!

1 лайк