Введение и цель разбора 0:01 Разбор тест-кейса от подписчиков. Использование хэш-карты и классов для сравнения переменных. Возможность прислать тест-кейс на почту и скачать проект с GitHub.
Описание задачи 1:00 Получение информации о профиле через хэш-карту или класс. Атрибуты: пол, возраст, город, подтвержденный номер телефона, готовность к переезду. Нюансы: пол должен быть буквой "м" или "ж", возраст - числом, город - текстом.
Подготовка к реализации 2:58 Преобразование строки в логическое значение. Использование паттерна Page Object. Создание нового пакета и класса для проекта.
Создание тестового класса 3:53 Создание базового тестового класса. Наследование от базового класса. Создание пейдж-класса для страницы с резюме.
Открытие страницы и получение элементов 5:27 Открытие страницы через конструктор. Поиск элемента "пол" с помощью локатора. Объявление веб-элемента в классе.
Получение пола 8:23 Два способа получения буквы "м" или "ж". Использование дополнительных условий и тернарного оператора. Выбор более продвинутого способа для уменьшения кода.
Получение возраста 11:20 Поиск элемента с возрастом "25 лет". Преобразование строки в число с помощью регулярного выражения. Объявление элемента в классе и создание метода для получения числа.
Регулярные выражения 14:30 Регулярные выражения используются для поиска текстовых значений в тексте. Пример: поиск символов, не являющихся цифрами, и замена их на пустые значения. Преобразование строки в число с помощью метода parseInt.
Поиск города Санкт-Петербург 16:22 Получение текстового значения элемента с помощью метода getText. Разделение строки на части с помощью метода split. Создание массива из разбитой строки и проверка готовности к переезду.
Проверка готовности к переезду 20:03 Использование метода split для разделения строки на части. Проверка наличия фразы "не готов к переезду" в массиве. Возвращение логического значения на основе найденной фразы.
Проверка подтвержденного номера телефона 23:47 Проверка видимости элемента на странице. Создание хэш-карты для хранения пар ключ-значение. Вынесение ключей в отдельное место для предотвращения дублей.
Создание констант и хэш-карты 25:58 Объявление констант для ключей: пол, возраст, город, номер телефона, готовность к переезду. Создание метода для возврата карты с заполненными значениями. Добавление данных в хэш-карту с помощью метода put.
Возвращение хэш-карты 30:09 Заполнили хэш-карту и вернули её. Использовали фигурные скобки для упрощения кода. Это не влияет на функциональность, но делает код более читаемым.
Создание ожидаемых результатов 31:06 Создали хэш-карту для ожидаемых результатов. Использовали статичные переменные для заполнения карты. Пример заполнения карты: гендер, возраст, город, телефон, готовность к переезду.
Получение актуальных результатов 33:17 В тестовом методе получили актуальные результаты. Создали хэш-карту для актуальных результатов. Вызвали метод для получения актуальных данных.
Сравнение ожидаемых и актуальных результатов 34:16 Использовали метод assert для сравнения ожидаемых и актуальных данных. Проверили, что карта заполняется нужными значениями. Если ожидаемые и актуальные данные не совпадают, тест падает.
Сравнение через классы 36:40 Создали класс для хранения данных. Использовали конструктор для заполнения данных. Создали два экземпляра класса для ожидаемых и актуальных данных.
Заполнение экземпляров класса 40:09 Заполнили ожидаемый экземпляр класса данными. Заполнили актуальный экземпляр класса данными с страницы. Использовали геттеры для получения данных из экземпляров класса.
Сравнение экземпляров класса 43:11 Создали экземпляры класса с разными данными. Использовали дебаггер для проверки различий. Сравнили ожидаемые и актуальные данные, чтобы убедиться в их совпадении.