ВСТУПЛЕНИЕ
Мы уже научились в предыдущих статьях создавать автоматизированные тесты с помощью Selenium WebDriver, а также начали задумываться над тем, что у нас в каждом тесте дублируется код и уже начали предпринимать конкретные действия для устранения подобных неудобств (вынесли работу с драйвером в базовый для всех тестов класс, а также создали конфигурационных файл).
Если подумать глобально, то скорее всего с подобной проблемой сталкивается каждый у кого появляется больше чем один автоматизированный тест. Так вот для большинства подобных проблем уже есть общепринятые решения, которые называют паттернами.

ОПРЕДЕЛЕНИЕ
Паттерн проектирования (Design pattern) — это часто встречающееся решение определённой проблемы при проектировании архитектуры программ (Относится не только к автоматизированному тестированию, а к программированию в целом).
В отличие от готовых функций или библиотек, паттерн нельзя просто взять и скопировать в программу. Паттерн представляет собой не какой-то конкретный код, а общую концепцию решения той или иной проблемы, которую нужно будет ещё подстроить под нужды вашей программы.
Исходя из целей нашего курса, описывать как классифицируют паттерны, их историю и тому подобное, сейчас нету надобности, чтобы не перегружать информацией, да и нам на первое время нужно будет изучить только парочку из них, которые есть специфическими для автоматизированного тестирования. На сейчас главное просто понять, что это такое.
Для тех кто хочет узнать больше, я бы посоветовал удобный ресурс с примерами и описанием: refactoring.guru
