Как мне заставить Selenium найти этот индикатор ошибки - PullRequest
1 голос
/ 18 мая 2019

Я пишу сценарий автоматизации для

http://computer -database.gatling.io / computers / new

Когда указано недопустимое значение (или имя компьютера отсутствует)) вводится и сохраняется нажатие появляется индикатор ошибки (поле становится красным)

Однако я не могу заставить Selenium найти индикатор ошибки

Я не работал с этим типом ошибкираньше, поэтому не уверен, что искать мой код

Локатор

computer_name_required = (By.CSS_SELECTOR, "#main > form > fieldset > div:nth-child(1) > div")

    invalid_intro_date = (By.CSS_SELECTOR, "#main > form > fieldset > div:nth-child(2) > div")

    invalid_dscon_date = (By.CSS_SELECTOR, "#main > form > fieldset > div:nth-child(3) > div)")

с использованием элемента отображается

def element_displayed(self, *element):
        element = self.browser.find_element(*element)

        if element.is_displayed():
            return True
        else:
            return False

Недопустимый метод имени

def invalid_name_error(self):
    return self.element_displayed(*CreateAndEditPageLocators.computer_name_required)

1 Ответ

2 голосов
/ 18 мая 2019

Поскольку имя класса изменяется при возникновении ошибки, вы можете использовать xPath вместо css selector

".//*[@class='clearfix error']//*[@for='name']"         #for computer name error
".//*[@class='clearfix error']//*[@for='introduced']"   #for introduced error
".//*[@class='clearfix error']//*[@for='discontinued']" #for discontinued error

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...