Как проверить что элемент содержит определенный класс? Python-Selenium
Задача:
Существует форма, которую пользователь должен заполнить. В форме есть обязательные поля. Если пользователь их не заполнил, то поле подсвечивается красным цветом. За подсветку поля отвечает класс ERROR. Этот класс присваивается элементу, если поле не заполнено.
def test_user_should_see_warning_if_fields_are_not_filled(driver):
support_page.open(driver)
support_page.click_send_message_button(driver)
assert support_page.is_name_field_has_error_class(driver), \ "The Name field has no Error class"@allure.step("Check that Name field has Error class when this field does not filled") def is_name_field_has_error_class(driver): name_input_field = HtmlElement(driver, (By.CSS_SELECTOR, '[name="name"]')) return 'error' in name_input_field.get_attribute("class")class HtmlElement: def __init__(self, driver, locator): self.driver = driver self.element_locator = locatordef get_attribute(self, attribute_name, timeout=30): wait = WebDriverWait(self.driver, timeout) try: element = wait.until(expected_conditions.presence_of_element_located(self.element_locator)) return element.get_attribute(attribute_name) except TimeoutException: raise NoSuchElementException("Can't find element with locator " + str(self.element_locator) + " after " + str(timeout) + " seconds.")
Комментариев нет:
Отправить комментарий