Sobes.tech
Junior — Middle

Mi a fő célja a Page Object mintázat használatának a webes felületek tesztelésének automatizálásában?

sobes.tech MI

Válasz az MI-től

A Page Object minta webes felület tesztelés automatizálásában használják a tesztkód olvashatóságának, karbantartásának és újrahasznosíthatóságának javítása érdekében.

Fő cél:

  • Az interakciók elvonása a weboldallal egy külön osztályban (oldal objektum).
  • A felület elemeinek lokátorainak és műveleteinek részleteit elrejteni.
  • A tesztek könnyebben érthetővé tétele és kevésbé függővé tétele a UI változásaitól.

Például, minden tesztben a gomb keresésére és kattintására írt kód helyett, egy oldal osztályt hozunk létre, amely tükrözi a felhasználói műveleteket:

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()

Ez az osztály használatával a tesztek könnyebben karbantarthatók és a kód szerkezete javul.