Назначение логического значения функции на основе того, была ли она выполнена без ошибок - PullRequest
1 голос
/ 12 июля 2019

Я пишу тестовый пример с использованием Selenium и Pytest. Пока что каждый из отдельных тестов сосредоточен на одном аспекте веб-приложения, которое я разрабатываю, и я хочу протестировать их все с помощью pytest.

Моя проблема заключается в следующем: прямо сейчас функции, которые я использую для написания тестовых случаев, не имеют выходных данных, что означает, что я не могу использовать метод assert, чтобы проверить, пройден тест или нет. Я хотел бы, чтобы каждая функция возвращала True или False в зависимости от того, была ли она запущена с нашей ошибкой или нет. Таким образом, я могу использовать assert, чтобы убедиться, что программа работала без сбоев

def sign_in():
    browser.find_element_by_xpath('//button/span[text()= "SIGN IN"]').click()

Есть ли способ изменить или написать эту функцию по-другому, чтобы в случае возникновения ошибки она возвращала False, а если ошибки не возникало, она возвращала True?

Заранее спасибо!

1 Ответ

0 голосов
/ 12 июля 2019

Использование try/except

def sign_in():
    try:
        browser.find_element_by_xpath('//button/span[text()= "SIGN IN"]').click()
        return True
    except NoSuchElementException:
        return False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...