Middle+
Opowiedz nam o infrastrukturze swojego frameworka.
sobes.tech AI
Odpowiedź od AI
Framework jest zbudowany na architekturze warstwowej.
- Warstwa testowa: Zawiera klasy i metody testowe opisujące scenariusze testowe. Używa frameworka testowego (JUnit 5 / TestNG) do adnotacji i wykonywania testów.
- Warstwa stron (Page Object Model): Implementuje wzorzec Page Object Model (POM). Każda klasa strony reprezentuje pojedynczą stronę internetową lub jej część i zawiera metody do interakcji z elementami i wykonywania działań.
- Warstwa utilitarnych: Zawiera klasy i funkcje pomocnicze do wykonywania wspólnych zadań, takich jak praca z danymi testowymi (czytanie z plików, bazy danych), logowanie (SLF4j), zrzuty ekranu, zarządzanie konfiguracją (OwnerR) itp.
- Warstwa sterownika: Abstrahuje pracę z WebDriverem (np. Selenium WebDriver). Odpowiada za inicjalizację, konfigurację i zarządzanie instancjami driverów dla różnych przeglądarek i platform (bezpośrednio lub przez Selenide).
- Raportowanie: Zintegrowane z systemem raportowania (Allure Report) do generowania szczegółowych raportów z wykonania testów, w tym kroków, zrzutów ekranu i logów.
- Integracja CI/CD: Framework jest skonfigurowany do uruchamiania w pipeline CI/CD (Jenkins / GitLab CI) z użyciem narzędzi do budowania (Maven / Gradle).
Dodatkowo mogą być dodane warstwy do pracy z API (REST Assured), bazami danych lub aplikacjami mobilnymi, w zależności od specyfiki testowanego produktu. Zarządzanie zależnościami odbywa się za pomocą systemów zarządzania zależnościami (Maven / Gradle).
Przykład struktury projektu:
// Przykład struktury projektu frameworka
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 (lub build.gradle)