Тестирование web-приложений и тестовые фреймворки
Далее мы рассмотрим, как использовать Selenium Webdriver для написания автоматических тестов. Почему мы еще не можем назвать тестами скрипты, которые мы писали в предыдущих модулях?

Для этого нам придётся познакомиться с тестовыми фреймворками unittest и PyTest, которые позволяют создавать легкочитаемые проверки ожидаемых результатов в тестах, удобно настраивать запуск большого количества тестов в нужных окружениях, организовывать хранение тестов и генерацию отчётов для последующего анализа.

В качестве основы для данного урока мы адаптировали руководство про написание юнит-тестов в Python:

https://realpython.com/python-testing/

Содержание урока
Автоматизированное и ручное тестирование
Юнит-тесты и интеграционные тесты
Задание: пирамида тестирования
Структура теста
Проверка ожидаемого результата
Составные сообщения об ошибках 
Задание: составные сообщения об ошибках
Задание: составные сообщения об ошибках и поиск подстроки
Тестовый сценарий
Выбор test runner
unittest
Задание: оформляем тесты в стиле unittest 