Отчет о посиделках AT.Info № 10 «Объектно-ориентированный подход при автоматизации веб-приложений»
«Круглая» по счету встреча автоматизаторов, площадкой для которой в этот раз стал офис SysIQ, прошла под девизом оптимизации и облегчения поддержки автоматизированных тестов для веб-приложений. Участники учились строить фреймворки с использованием Java, Selenium и WebDriver, выделяли Java-классы страниц и тестов, «визуализируя» в коде автотестирования конкретные страницы с определенным функционалом.
«Объектно-ориентированный подход превращает код автотестов в легкую для понимания и обслуживания структуру. Применяя Page Object Pattern, мы получаем отражение реальных страниц сайта в форме Java-классов со всеми элементами, которые на них присутствуют, будь то ссылки, кнопки или чек-боксы, а также функции, эмулирующие действия пользователя: клик по ссылке меню, ввод логина, ввод пароля и так далее», — говоря об интуитивно удобной природе объектно-ориентированного подхода, Леша Зволинский (SysIQ) опирался на актуальный личный опыт.
Кастомные интернет-магазины традиционно функционально насыщены и способны обеспечить автоматизатора множеством нетривиальных задач, так что оптимизация кода автотестов здесь особенно важна — по мере развития функционал и структура таких сайтов, как правило, постоянно подтягивается клиентом к меняющимся требованиям бизнеса, и понимание структуры, логики и даже отдельных тестов людьми, не работающими с автоматизацией, помогает процессу идти быстрее.
«Хороший тон — давать читабельные имена функциям, к примеру, clickLoginButton, чтобы коллеги по проекту, не занимающимися автоматизацией, не ломали голову зря. Тесты принимают вид «простого английского»:
homePage.inputLogin("testLogin") .inputPassword("pass") .clickLoginButton();
«Java-классы избавляют тестировщиков от постоянного объявления в коде теста одних и тех же элементов и методов... Такая же ситуация и с классами тестов. К ним тоже применим принцип наследования, и общие части можно выносить на более высокий уровень абстракции.»
Привычный для посиделок AT.infо практический джем-сейшн заключался в попытке реализации подхода Page Object Pattern на примере официального сайта одного из киевских футбольных клубов. Не сговариваясь, команды выдали результаты, дополняющие друг друга и в совокупности удачно иллюстрирующие этот самый объектно-ориентированный подход (одна из команд выдала обобщенное решение, вторая — более подробное). После кофе-брейка каждый смог задать свой вопрос «о наболевшем» — в этот раз обсуждали тестирование писем, инструменты для автотестирования во фреймворке BDD (Behavior Driven Development) и выбор тестов для Continuous Integration.
Некоторые из дивидендов, приносимые объектно-ориентированного подходом к автотестированию:
- Простота написания и понимания кода;
- скорость написания;
- легкость поддержки;
- отделение логики теста от логики страниц;
- легкое чтение аналитиками и заказчиком.
Все про українське ІТ в телеграмі — підписуйтеся на канал DOU
10 коментарів
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.