Sarlavha uchun tuzilmani qanday tashkil qilasiz?
sobes.tech AI
AIdan javob
Sarlavha Page Object sifatida taqdim etilishi mumkin bo'lib, unda sarlavha elementlari bilan o'zaro ta'sir qilish uchun lokalizatorlar va metodlar mavjud (logotip, menyu elementlari, qidiruv tugmalari, savat va boshqalar).
Lokalizatorlar klassda yoki alohida konfiguratsiya faylida saqlanishi mumkin.
Klass tuzilishi taxminan quyidagicha bo'ladi:
public class HeaderPage {
// Sarlavha elementlarining lokalizatorlari
private final By logo = By.cssSelector(".header__logo");
private final By searchBar = By.id("search-input");
private final By cartIcon = By.xpath("//a[@class='header__cart']");
// Elementlar bilan o'zaro ta'sir qilish uchun metodlar
public void clickLogo() {
driver.findElement(logo).click();
}
public void enterSearchTerm(String term) {
driver.findElement(searchBar).sendKeys(term);
}
public void clickCartIcon() {
driver.findElement(cartIcon).click();
}
// Sarlavha ichidagi elementlar bilan ishlash uchun metodlar, masalan, menyu
public MenuItem clickMenuItem(String itemName) {
// Menyu elementini topish va bosish logikasi
return new MenuItem(/*...*/); // Menyu element ob'ekti qaytariladi
}
}
Yopishadigan menyular yoki submenyular bilan ishlash uchun, bu elementlar uchun alohida Page Object'lar yaratish va ular orqali sarlavha metodlari bilan kirish mumkin.
Loyihaning papka tuzilishi misoli:
src/
├── main/
│ └── java/
│ └── com/
│ └── example/
│ └── project/
│ └── pages/
│ ├── HeaderPage.java
│ └── components/
│ ├── MenuItem.java
│ └── SearchBar.java
└── test/
└── java/
└── com/
└── example/
└── project/
└── tests/
└── HeaderTests.java
Testlarda, HeaderPage metodlaridan foydalanib, sarlavha bilan bog'liq harakatlar va tekshiruvlar amalga oshiriladi.
public class HeaderTests extends BaseTest { // Driverni boshlash uchun asosiy sinf
@Test
public void testLogoClickNavigatesToHomePage() {
HeaderPage header = new HeaderPage();
header.clickLogo();
// Bosh sahifaga o'tishni tekshirish
// Masalan, assert.assertEquals(driver.getCurrentUrl(), "https://example.com/");
}
@Test
public void testCanSearchFromHeader() {
HeaderPage header = new HeaderPage();
header.enterSearchTerm("test product");
header.clickSearchIcon(); // Qidiruv ikonkasiga bosish uchun metod mavjud deb faraz qilamiz
// Qidiruv natijalari ko'rsatilishini tekshirish
}
}
Ushbu yondashuv, sarlavha bilan ishlashda kodning o'qilishi, saqlanishi va takroran ishlatilishini ta'minlaydi.