Модели объектов страницы
Введение
Большие наборы тестов могут быть структурированы для оптимизации простоты написания и поддержки. Модели объектов страницы — это один из подходов к структурированию вашего набора тестов.
Объект страницы представляет часть вашего веб-приложения. Веб-приложение для электронной коммерции может иметь главную страницу, страницу со списками и страницу оформления заказа. Каждая из них может быть представлена моделями объектов страницы.
Объекты страницы упрощают написание за счет создания API более высокого уровня, который подходит вашему приложению, и упрощают поддержку, фиксируя селекторы элементов в одном месте и создавая многократно используемый код для избежания повторений.
Реализация
Модели объектов страницы оборачиваются вокруг Playwright Page.
package models;
import com.microsoft.playwright;
public class SearchPage {
private final Page page;
private final Locator searchTermInput;
public SearchPage(Page page) {
this.page = page;
this.searchTermInput = page.locator("[aria-label='Enter your search term']");
}
public void navigate() {
page.navigate("https://bing.com");
}
public void search(String text) {
searchTermInput.fill(text);
searchTermInput.press("Enter");
}
}
Объекты страницы затем могут быть использованы внутри теста.
import models.SearchPage;
import com.microsoft.playwright.*;
// ...
// В тесте
Page page = browser.newPage();
SearchPage searchPage = new SearchPage(page);
searchPage.navigate();
searchPage.search("search query");