Я пытаюсь разобраться в автоматизации тестирования с использованием Selenium WebDriver + Python.
Посмотрел API, написал пару тестов - вроде все понятно - как находить элементы, ожидания, как подключать драйвера браузеров.
Но, в чем вопрос: как организовать сам код тестов и проверки ? Например, есть код:
Этот тест просто скрипт вне функции, каких-либо ассертов, меня интересует какие практики обычно используются для структурирования таких тестов и проверок ? Видел в некоторых примерах использую библиотеку unittest, там каждый тест делают отдельной функцией. То есть интересует именно организация проверок в коде, обертывание их в try/except .
Думаю, коллеги еще накидают советов, я же дам ссылку на плейлист мой по автоматизации null - YouTube Там есть и ответы на текущие вопросы, а также те, которые возникнут далее
Это у Вас один большой монолитный кусок кода, который надо разбивать на более мелкие. Ну и описывать логику с помощью DSL. Тогда код станет намного проще поддерживать. Например реализовать абстракции по:
работе с данными
работе с драйвером
работе с элементами на странице (там же и будут ожидания)
работе с частями страниц
работе с логгированием
работе с хранилищем локаторов
работе с конфигурации и кроссплатформенным запуском
Вы без проблем можете использовать Page Object паттерн для создания тестов. Я это показывал в этом видео (смотреть с 40й минуты).
Если хотите научиться писать тесты с помощью unittest pytest или nose в связке с webdriver, то вам пригодятся вот эти ссылки: