Звіт про посиденьках 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.
Деякі з дивідендів, принесені об'єктно-орієнтованого підходу до автотестування:
- Простота написання і розуміння коду;
- швидкість написання;
- легкість підтримки;
- відділення логіки тесту від логіки сторінок;
- легке читання аналітиками і замовником.
Опубліковано: 21/11/11 @ 06:47
Розділ Різне
Рекомендуємо:
Електронна податкова звітність: керівництво користувача
24 листопада, Дніпропетровськ - Hackers & Founders Dnepr
Чи призводить зміна коду і структури сторінок до пониження позицій в пошукових системах
О будущей трансформации аукционов освобождающихся доменов .RU
Без посилань можна ...? Можна!