頁面對象
這章是對 頁面對象設計模型的特別指導。一個頁面對象代表了你要測試的用戶接口交互的區域。
使用頁面對象模型的好處: 可以寫出能在多個測試案例裏複用的代碼 減少重複代碼 * 如果用戶接口更改,只需要在一個地方做相應修改即可
測試案例
下面這個測試案例測試了在python.org
網頁上搜索一個單詞並確認有相應的搜索結果:
import unittest
from selenium import webdriver
import page
class PythonOrgSearch(unittest.TestCase):
"""一個簡單展示頁面對象如何工作的類"""
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.get("http://www.python.org")
def test_search_in_python_org(self):
"""
測試 python.org網站的搜索功能。搜索一個單詞“pycon”然後驗證某些結果會展示出來。
注意這個測試不會在搜索結果頁裏尋找任何細節文本,它只會驗證結果爲非空
"""
#載入主頁面,這個例子裏是 Python.org的首頁
main_page = page.MainPage(self.driver)
#檢查頁面的標題是否包含"python"單詞
assert main_page.is_title_matches(), "python.org title doesn't match."
#將搜索框的文本設置爲"pycon"
main_page.search_text_element = "pycon"
main_page.click_go_button()
search_re