Junior — Middle
Page Object үлгүсүнүн концепциясын жана анын автоматташтырылган тестирүүдө колдонулушун түшүндүрө аласызбы?
sobes.tech AI
AIден жооп
Page Object үлгісі — бұл автоматтандырылған тестілеуде жобалау үлгісі, ол әр веб-беттің немесе компоненттің үшін бөлек объект (сынып немесе модуль) құруды қарастырады.
Негізгі идея — бұл объектте беттегі барлық элементтер мен оларға әсер ету әдістерін инкапсуляциялау. Бұл тесттердің оқылуын, қайта пайдалануын және қолдауды жақсартады.
Мысалы, әр тестте селекторлар мен әрекеттерді тікелей жазудың орнына, сіз сынып құрасыз:
class LoginPage {
constructor(driver) {
this.driver = driver;
this.usernameInput = '#username';
this.passwordInput = '#password';
this.loginButton = '#login';
}
async login(username, password) {
await this.driver.type(this.usernameInput, username);
await this.driver.type(this.passwordInput, password);
await this.driver.click(this.loginButton);
}
}
Тесттерде қолданасыз:
const loginPage = new LoginPage(driver);
await loginPage.login('user', 'pass');
Бул ыкма күтімді жеңілдетеді: егер бет құрылымы өзгерсе, тек Page Object жаңартылуы керек, барлық тесттер емес.