ВИКОРИСТАННЯ ПАТЕРНІВ ПРОГРАМУВАННЯ В АВТОМАТИЗОВАНОМУ ТЕСТУВАННІ
DOI:
https://doi.org/10.31471/1993-9981-2025-1(54)-156-163Ключові слова:
проєкт, шаблон проєктування, Page Object, Page Factory, автотест, елементи інтерфейсу, веб-застосунок, тестовий фреймворкАнотація
У статті розглядаються особливості побудови проєктів, що реалізують шаблони проєктування Page Object та Page Factory для створення автоматизованих тестів. Основною мовою програмування обрано Java, яка належить до об’єктно-орієнтованої парадигми, а розробка проєктів здійснювалася в середовищі IntelliJ IDEA. У фокусі – тестування процесу реєстрації нового користувача на веб-ресурсі. Було реалізовано відповідні автотести з використанням зазначених шаблонів проєктування разом із бібліотеками Selenium-java, WebDriverManager і тестовим фреймворком TestNG. Дані, необхідні для успішної реєстрації, зчитуються з конфігураційного файлу у форматі .properties, який зберігається у директорії resources. Результатом тестування є згенерований звіт, що демонструє успішність проходження автотесту. Кожна веб-сторінка представлена окремим класом, у якому реалізовано методи для взаємодії з нею. У випадку використання лише Page Object, елементи інтерфейсу приховані (мають модифікатор private) та винесені в окремий модуль. Методи сторінок повертають нові екземпляри класів, що відповідають подальшим етапам сценарію тестування. Код автотестів є логічно відокремленим від елементів інтерфейсу та методів, які моделюють дії користувача. Також, завдяки використанню анотацій @BeforeSuite, @AfterSuite та @BeforeClass, створено методи, що відповідають за підготовку та завершення виконання тестових наборів. Подано порівняння структур проєктів, побудованих за шаблонами Page Object та Page Factory. Оскільки Page Factory є більш оптимізованим підхід для ініціалізації елементів сторінки або об’єкта сторінки, це дозволяє зробити структуру проєкту простішою. У цьому випадку, елементи інтерфейсу розміщуються безпосередньо у відповідних класах сторінок.
Завантаження
Посилання
Selenium and TestNG. URL: https://testng.org/doc/selenium.html
Amir Ghahrai. Page Object Model Framework with Java and WebDriver. URL: https://devqa.io/page-object-framework-java-webdriver/
Selenium and TestNG. URL: https://testng.org/doc/selenium.html
Yoni Flenner. Page Object Model-Make It Simple, Use Abstraction. URL:https://blog.testproject.io/2017/07/16/page-object-model/
Page Object Model (POM). URL: https://www.geeksforgeeks.org/page-object-model-pom/
Graham D., Black R., Erik van Veenendal. Foundations of Software Testing: ISTQB Certification, 4 th Edition. United Kingdom : EMEA, 2018. 273 p.
Seretta Gamba, Dorothy Graham. A Journey through Test Automation Patterns: One team’s adventures with the Test Automation Patterns. United States: CreateSpace Independent Publishing Platform, 2018. 364 p.
Karl Wiegers, Joy Beatty. Software Requirements: Third Edition. Washington : Microsoft Press, 2013. 673 p.
Acceptance Criteria for User Stories: Purposes, Formats, Examples, and Best Practices. URL: https://www.altexsoft.com/blog/business/acceptance-criteria-purposes-formats-and-best-practices/
Maven репозиторій. URL: https://mvnrepository.com/