亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium關于Page Objects
作者:網絡轉載 發布時間:[ 2016/3/15 13:41:14 ] 推薦標簽:軟件測試工具 功能測試工具

  介紹頁面對象設計模式。一個頁面對象表示在你測試的web頁面用戶交互的界面。
  使用頁面對象模式的有點:
  · 創建可重用的代碼可以在多個測試用例中使用
  · 減少重復的代碼量
  · 如果用戶界面改變,只需要修改一個地方
  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頁面創建一個對象。按照這種方式分層測試代碼和實現。
  新建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

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 夜夜天天干 | 老司机69精品成免费视频 | 国产日韩欧美第一页 | 美国一级片网站 | 国产第一浮力影院新路线 | 亚洲国产成人在线观看 | 怡红院在线观看视频 | 毛片网站在线看 | 中文天堂在线www | 五月丁香六月综合缴清无码 | 一级片免费播放 | 国产特黄1级毛片 | 911精品国产亚洲日本美国韩国 | 男女第一次弄进去的视频 | 黄色三级日韩 | 成人深夜福利 | 国产综合成色在线视频 | 九草在线免费观看 | 深夜福利网站在线 | 中文字幕日韩高清版毛片 | 欧美成人午夜在线全部免费 | 深夜国产成人福利在线观看女同 | 亚洲成综合人影院在院播放 | 成人午夜小视频手机在线看 | 黄色成人在线观看 | 中文字幕亚洲精品日韩精品 | 欧美激情亚洲精品日韩1区2区 | 狠狠视频| 永久在线毛片免费观看 | 天天摸天天操天天射 | 色偷偷狠狠色综合网 | 天天舔日日干 | 日韩福利一区 | 激情五月综合网 | 91精品在线观看视频 | 欧美亚洲另类色国产综合 | 天天操夜夜操免费视频 | 美女黄网站在线观看 | 1204手机在线观看免费高清 | 亚洲精品专区 | 成人在线观看免费视频 |