介紹頁面對象設計模式。一個頁面對象表示在你測試的web頁面用戶交互的界面。
	  使用頁面對象模式的有點:
	  · 創(chuàng)建可重用的代碼可以在多個測試用例中使用
	  · 減少重復的代碼量
	  · 如果用戶界面改變,只需要修改一個地方
	  1.Test case
	  下面的測試用例是在百度中搜索關鍵字,并返回相應的結果
	import unittest
	from selenium import webdriver
	import page
	class BaiduSearch(unittest.TestCase):
	def setUp(self):
	self.driver = webdriver.Firefox()
	self.driver.get("http://www.baidu.com")
	def test_search_in_baidu(self):
	main_page = page.MainPage(self.driver)
	#斷言標題關鍵字
	assert main_page.is_title_matches(), "baidu title doesn't match."
	#設置搜索的關鍵字
	main_page.search_text_element = "selenium"
	main_page.click_go_button()
	search_results_page = page.SearchResultsPage(self.driver)
	#斷言結果頁面不是空的
	assert search_results_page.is_result_found(), "No result found."
	def tearDown(self):
	self.driver.close()
	if __name__ == "__main__":
	unittest.main()
	  2.Page object classes
	  頁面對象模式將為每個web頁面創(chuàng)建一個對象。按照這種方式分層測試代碼和實現(xiàn)。
	  新建page.py,代碼如下:
	from element import BasePageElement
	from locators import MainPageLocators
	class SearchTextElement(BasePageElement):
	locator = 'kw'
	class BasePage(object):
	"""被所有頁面調用的頁面初始化的基礎類"""
	def __int__(self, driver):
	self.driver = driver
	class MainPage(BasePage):
	"""主頁面的方法"""
	search_text_element = searchTextElement()
	def is_title_match(self):
	return "selenium" in self.driver.title
	def click_go_button(self):
	elemnt = self.driver.find_element(*MainPageLocators.GO_BUTTON)
	element.click()
	class SearchsultsPage(BasePage):
	"""搜索結果頁面的方法"""
	def is_results_found(self):
	return "No results found." not  in self.driver.page_source
	  3.Page elements
	  新建element.py 代碼如下:
	from selenium.webdriver.support.ui import WebDriverWait
	class BasePageElement(object):
	def __set__(self, obj, vaule):
	driver = obj.driver
	WebDriverWait(driver, 100).until(
	lambda driver: driver.find_element_by_name(self.locator))
	driver.find_element_by_name(self.locator).send_keys(value)
	def __get__(self, obj, owner):
	driver = obj.driver
	WebDriverWait(driver, 100).until(
	lambda driver: driver.find_element_by_name(self.locator))
	element = driver.find_element_by_name(self.locator)
	return element.get_attribute("value")
	  4.Locators
	  將定位到的元素分離,同一個頁面的定位的元素屬于同一個類
	  新建locators.py 代碼如下:
	  from selenium.webdriver.common.by import By
	  class MainPageLocators(object):
	  """所有主頁面定位到的元素"""
	  GO_BUTTON = (By.ID, 'su')
	  class SearchResultsPageLoactors(object):
	  """所有搜索結果定位的元素"""
	  pass