Middle+
Разкажете ни за инфраструктурата на вашия фреймуърк.
sobes.tech AI
Отговор от AI
Рамката е изградена върху слоеста архитектура.
- Слой за тестове: Съдържа тестови класове и методи, които описват тестовите сценарии. Използва тестов фреймуърк (JUnit 5 / TestNG) за анотации и изпълнение на тестовете.
- Слой на страниците (Page Object Model): Реализира шаблона Page Object Model (POM). Всеки клас на страницата представлява уеб страница или нейна част и съдържа методи за взаимодействие с елементите и изпълнение на действия.
- Помощни класове: Съдържа помощни класове и функции за общи задачи, като работа с тестови данни (четене от файлове, бази данни), логване (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)