Sobes.tech
Junior — Middle

Veb interfeyslərin avtomatlaşdırılmasında Page Object şablonunun əsas məqsədi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Page Object şablonu, veb interfeys testlərinin avtomatlaşdırılmasında test kodunun oxunaqlılığını, dəstəyini və təkrar istifadəsini artırmaq üçün istifadə olunur.

Əsas məqsəd:

  • Veb səhifə ilə qarşılıqlı əlaqəni ayrı bir sinifdə (səhifə obyekti) abstraktlaşdırmaq.
  • İnterfeys elementlərinin lokalizatorları və hərəkətlərin detalları gizlətmək.
  • Testləri daha anlaşılan etmək və UI-dəki dəyişikliklərə daha az asılı etmək.

Məsələn, hər testdə düyməni tapıb ona klik etmək üçün kod yazmaq yerinə, istifadəçi hərəkətlərini əks etdirən metodlara malik səhifə sinfi yaradılır:

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

Testlər bu sinfi istifadə edir, bu da dəstəyini asanlaşdırır və kod strukturunu yaxşılaşdırır.