Перейти к основному содержимому

Модели объектов страницы

Введение

Большие наборы тестов могут быть структурированы для оптимизации простоты написания и поддержки. Модели объектов страницы — это один из подходов к структурированию вашего набора тестов.

Объект страницы представляет часть вашего веб-приложения. Веб-приложение для электронной коммерции может иметь главную страницу, страницу со списками и страницу оформления заказа. Каждая из них может быть представлена моделями объектов страницы.

Объекты страницы упрощают написание за счет создания API более высокого уровня, который подходит вашему приложению, и упрощают поддержку, фиксируя селекторы элементов в одном месте и создавая многократно используемый код для избежания повторений.

Реализация

Модели объектов страницы оборачиваются вокруг Playwright Page.

models/SearchPage.java
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");