Sparround

Page Object Model və framework arxitekturası

Page Object Model (POM) — hər səhifə/komponent üçün locator-ları və hərəkətləri bir sinifdə toplayan pattern:

  • Locator dəyişəndə BİR yerdə düzəliş
  • Testlər biznes dilində oxunur: await loginPage.loginAs(user)
  • Təkrar kod yox olur

Qaydalar: page object-lər assertion etmir (bu, testin işidir; yalnız vəziyyət qaytarır), hərəkətlər user səviyyəsindədir (fillCheckoutForm(data), clickElement(selector) yox), kiçik komponentlər ayrıca (Header, CartWidget).

Böyük framework strukturu: pages/ (POM-lər), fixtures/, api/ (client-lər), test-data/ (factory-lər), utils/, tests/ (spec-lər — yalnız ssenari məntiqi).

Middle interview-da POM-un TƏNQİDİ də soruşulur: dərin miras iyerarxiyaları (BasePage → ... → 5 səviyyə) anti-pattern-dır; müasir alternativ — kompozisiya və daha yüngül "screenplay" / component-object yanaşmaları. Balans: POM sadə saxlanmalı, hər UI detalı üçün metod yazılmamalıdır.

📚 Mənbələr və sənədlər