Middle+
გვითხარით თქვენი ჩარჩოს ინფრასტრუქტურის შესახებ.
sobes.tech AI
პასუხი AI-სგან
ფრეიმვორკი აგებულია ფენიანი არქიტექტურის მიხედვით.
- ტესტების ფენა: შეიცავს ტესტის კლასებს და მეთოდებს, რომლებიც აღწერენ ტესტირების სცენარებს. გამოიყენება ტესტირების ფრეიმვორკი (JUnit 5 / TestNG) ანოტაციებისთვის და ტესტების შესრულებისთვის.
- გვერდის ფენა (Page Object Model): განახორციელებს Page Object Model (POM) ნიმუშს. თითოეული გვერდის კლასი წარმოადგენს ცალკეულ ვებგვერდს ან მის ნაწილს და შეიცავს მეთოდებს ელემენტებთან ურთიერთქმედებისა და მოქმედებების შესასრულებლად.
- Utilities ფენა: შეიცავს დამხმარე კლასებს და ფუნქციებს საერთო დავალებების შესასრულებლად, როგორიცაა ტესტის მონაცემებთან მუშაობა (ფაილიდან, მონაცემთა ბაზიდან კითხვა), ლოგირება (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)