Sobes.tech
Junior — Middle

Web arayüzleri test otomasyonunda Page Object şablonunun temel amacı nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Page Object şablonu, web arayüzü test otomasyonunda, test kodunun okunabilirliğini, bakımını ve yeniden kullanılabilirliğini artırmak için kullanılır.

Ana amaç:

  • Web sayfasıyla etkileşimi ayrı bir sınıfta (sayfa nesnesi) soyutlaştırmak.
  • Arayüz elemanlarının konumlayıcıları ve işlemlerinin detaylarını gizlemek.
  • Testleri daha anlaşılır hale getirmek ve UI değişikliklerine daha az bağımlı yapmak.

Örneğin, her testte bir düğmeyi bulmak ve tıklamak için kod yazmak yerine, kullanıcı eylemlerini yansıtan metodlara sahip bir sayfa sınıfı oluşturulur:

class LoginPage:
    def __init__(self, driver):
        self.driver = driver
        self.username_input = "#username"
        self.password_input = "#password"
        self.login_button = "#login"

    def login(self, username, password):
        self.driver.find_element_by_css_selector(self.username_input).send_keys(username)
        self.driver.find_element_by_css_selector(self.password_input).send_keys(password)
        self.driver.find_element_by_css_selector(self.login_button).click()

Testler bu sınıfı kullanır, bu da bakımını kolaylaştırır ve kod yapısını iyileştirir.