#selenium #testing #ide #qa
#selenium #тестирование #selenium-ide
Вопрос:
На самом деле я использую selenium IDE для тестирования многих частей веб-сайтов, так что я новичок в этом. Я искал для проверки атрибутов стилей css (например, цвет шрифта, цвет фона и тому подобное) элементов веб-страницы.
Я нашел много документации, использующей команду «VerifyAttribute», но это от 3 до 6 лет назад, и в фактической версии нет этой команды, и, похоже, я не могу найти какой-либо эквивалент.
Я пробовал «VerifyElementPresent» и подобные команды, но тест всегда проходит, хотя я добавил атрибуты css (например, background-color =#333333), потому что элемент присутствует на странице, что бы я ни написал в поле «Значение».
Итак, мои вопросы:
1- Возможно ли проверить атрибуты и значения стилей css с помощью Selenium IDE?
2- Если да, какую команду мне следует использовать и как записать правильное ожидаемое значение?
Ответ №1:
Вы можете использовать execute <script>
для выполнения команды JavaScript. В основном вы хотите получить style
атрибут элемента или использовать getComputedStyle
в зависимости от вашего случая.
Приведенный ниже пример предназначен для https://github.com :
Первым будет execute
шаг
Command : execute
Target : return getComputedStyle(document.querySelector(".Header-old")).backgroundColor
Value : backgroundColor
За которым следует assert
для извлеченного значения :
Command : assert
Target : backgroundColor
Value : "rgb(36, 41, 46)"
Ответ №2:
rgba_value = элемент.value_of_css_property(‘цвет’)
где элемент найден драйвером.find_element(xpath-значение)
rgb_value = change_css_output_to_rgb_value(rgba_value)
icon_color_name = get_colour_name(rgb_value)