Перейти к содержимому

Фотография

Как проверить цвет кнопки Selenium Python

selenium python verify color

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 6axys

6axys

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 27 марта 2017 - 13:38

Добрый день уважаемые форумчане.
Столкнулся с такой проблемой, не могу проверить цвет кнопки, точнее код я написал, но система в упор не видит

Юзаю Selenium Webdriver 3 + Python

 

часть кода 

 

aboutus = self.driver.find_element_by_xpath('//*[@id="_master"]/div[1]/div/header/div[2]/div/div/div[2]/nav/menu/li[1]/a').get_attribute('background-color')
self.assertEqual('About us', '#eeaf3a', aboutus)

 

ошибка следующая:

 

F
======================================================================
FAIL: test_MainMenu (__main__.TestHeaderMainMenu)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:/Projects/Writedom/dev/Signup/WindowsGoogleChrome/test_HeaderMainMenu.py", line 45, in test_MainMenu
    self.assertEqual('About us', '#eeaf3a', aboutus)
AssertionError: 'About us' != '#eeaf3a'
 
----------------------------------------------------------------------
Ran 1 test in 26.001s
 
FAILED (failures=1)
 
Пробовал и через getCssValue, выдает что у данного вэб-элемента нет такого аттрибута.
 
Подскажите плиз, что не так делаю.

  • 0

#2 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 27 марта 2017 - 13:46

неправильный порядок параметров в assertEqual?


  • 0

#3 ommonick

ommonick

    Новый участник

  • Members
  • Pip
  • 4 сообщений

Отправлено 27 марта 2017 - 13:53

Прежде всего надо вывести аттрибут, который получили в консоль и убедиться что это именно то что нужно.

Когда вам тест явно покажет что вы цепляете именно нужное вам значение - тогда и проверяйте его.


  • 0

#4 6axys

6axys

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 27 марта 2017 - 13:59

Спасибо за ответы, но я нашел решение, если кому интересно:

rgba = self.driver.find_element_by_xpath('//*[@id="_master"]/div[1]/div/header/div[2]/div/div/div[2]/nav/menu/li[1]/a').value_of_css_property('background-color')
r, g, b, alpha = ast.literal_eval(rgba.strip("rgba"))
hex_value = '#%02x%02x%02x' % (r, g, b)
if not hex_value == '#eeaf3a':
raise Exception('Button color is missing')


  • 0

#5 ommonick

ommonick

    Новый участник

  • Members
  • Pip
  • 4 сообщений

Отправлено 27 марта 2017 - 14:17

Спасибо за ответы, но я нашел решение, если кому интересно:

rgba = self.driver.find_element_by_xpath('//*[@id="_master"]/div[1]/div/header/div[2]/div/div/div[2]/nav/menu/li[1]/a').value_of_css_property('background-color')
r, g, b, alpha = ast.literal_eval(rgba.strip("rgba"))
hex_value = '#%02x%02x%02x' % (r, g, b)
if not hex_value == '#eeaf3a':
raise Exception('Button color is missing')

То есть если код цвета отличается - то эксепшн будет о том что цвет вовсе отсутствует? как-то нелогично


  • 0

#6 6axys

6axys

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 27 марта 2017 - 14:20

 

Спасибо за ответы, но я нашел решение, если кому интересно:

rgba = self.driver.find_element_by_xpath('//*[@id="_master"]/div[1]/div/header/div[2]/div/div/div[2]/nav/menu/li[1]/a').value_of_css_property('background-color')
r, g, b, alpha = ast.literal_eval(rgba.strip("rgba"))
hex_value = '#%02x%02x%02x' % (r, g, b)
if not hex_value == '#eeaf3a':
raise Exception('Button color is missing')

То есть если код цвета отличается - то эксепшн будет о том что цвет вовсе отсутствует? как-то нелогично

 

цель проверить именно этот цвет, а ни какой-либо другой, или например кнопка бесцветная, должно быть полное совпадение так сказать.


  • 0

#7 ommonick

ommonick

    Новый участник

  • Members
  • Pip
  • 4 сообщений

Отправлено 27 марта 2017 - 19:57

 

 

цель проверить именно этот цвет, а ни какой-либо другой, или например кнопка бесцветная, должно быть полное совпадение так сказать.

Ну так и пишите ассерт на то что Incorrect button color. Ваши тесты потом может другой тестировщик или разработчик прочитать, что он должен понять из надписи Button color is missing? Что поле "bg-color" не возвращает значение? будет ковыряться, проверять это, потратит время.


  • 1



Темы с аналогичным тегами selenium, python, verify color

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных