Skip to main content

頁面物件模型

簡介

大型測試套件可以結構化以優化編寫和維護的便利性。頁面物件模型是結構化測試套件的一種方法。

一個頁面物件代表您的網頁應用程式的一部分。一個電子商務網頁應用程式可能有一個首頁、一個列表頁和一個結帳頁。每個頁面都可以由頁面物件模型表示。

Page 物件簡化撰寫,透過建立適合您的應用程式的高階 API,並且簡化維護,將元素選擇器集中在一處並建立可重複使用的程式碼以避免重複。

實作

頁面物件模型包裹在 Playwright Page 之上。

models/search.py
class SearchPage:
def __init__(self, page):
self.page = page
self.search_term_input = page.locator('[aria-label="Enter your search term"]')

def navigate(self):
self.page.goto("https://bing.com")

def search(self, text):
self.search_term_input.fill(text)
self.search_term_input.press("Enter")

頁面物件可以在測試中使用。

test_search.py
from models.search import SearchPage

# in the test
page = browser.new_page()
search_page = SearchPage(page)
search_page.navigate()
search_page.search("search query")