Middle+
Реците нам о инфраструктури вашег оквира.
sobes.tech АИ
Одговор од АИ
Фреймворк је изграђен на слојастој архитектури.
- Слой тестова: садржи тестне класе и методе које описују сценарије тестирања. Користи тест фрејмворк (JUnit 5 / TestNG) за анотације и извођење тестова.
- Слой страница (Page Object Model): реализује патерн Page Object Model (POM). Свакa класа странице представља одвојену веб страницу или њен део и садржи методе за интеракцију са елементима и извођење акција.
- Слой утилита: садржи помоћне класе и функције за извођење општих задатака, као што су рад са тестним подацима (читaње из фајлова, базе података), логовање (SLF4j), скриншотови, рад са конфигурацијом (OwnerR) итд.
- Слой драйвера: апстрахује рад са веб-дривером (нпр. Selenium WebDriver). Одговоран је за иницијализацију, конфигурацију и управљање примерцима драйвера за различите прегледаче и платформе (директно или преко Selenide).
- Извештавање: интегрисано са системом извештавања (Allure Report) за генерисање детаљних извештаја о извршењу тестова, укључујући кораке, скриншотове и логове.
- CI/CD интеграција: фрејмворк је подешен за покретање у CI/CD конвејеру (Jenkins / GitLab CI) уз коришћење алата за изградњу (Maven / Gradle).
Додатно могу бити укључени слојеви за рад са API-јима (REST Assured), базама података или мобилним апликацијама, у зависности од специфике тестираног производа. Коришћење зависности се управља помоћу система за управљање зависностима (Maven / Gradle).
Пример структуре пројекта:
// Пример структуре пројекта фрејмворка
src/test/java/com/example/tests/
TestClass1.java
TestClass2.java
src/test/java/com/example/pages/
LoginPage.java
HomePage.java
src/test/java/com/example/utils/
DataReader.java
LoggerUtil.java
src/test/resources/
config.properties
testdata.json
pom.xml (или build.gradle)