基于 SELENIUM 的自動(dòng)化測試架構(26)
發(fā)表于:2017-04-11來(lái)源:gitbook作者:凌俁Linty?點(diǎn)擊數:
標簽:selenium
# 與Java的TestNG 相反,先寫(xiě)期待值,再寫(xiě)實(shí)際值 self.assertEqual(expected_lang, actual_lang) def test_02_log_in (self) : driver = self.base_driver driver.get(self.base_url) sleep( 2 ) dr
self.assertEqual(expected_lang, actual_lang)
def test_02_log_in(self):
driver = self.base_driver
driver.get(self.base_url)
sleep(
2)
driver.find_element_by_id(
"account").send_keys(
"admin")
driver.find_element_by_id(
"password").send_keys(
"123456")
driver.find_element_by_id(
"submit").click()
sleep(
3)
actual_url = driver.current_url
expected_url = self.base_url +
"sys/index.html"
self.assertEqual(expected_url, actual_url)
2.2 使用 Page Object 設計模式
Page Object設計模式是Selenium自動(dòng)化測試項目的最佳設計模式之一,強調測試、邏輯、數據和驅動(dòng)相互分離。
Page Object模式是Selenium中的一種測試設計模式,主要是將每一個(gè)頁(yè)面設計為一個(gè)Class,其中包含頁(yè)面中需要測試的元素(按鈕,輸入框,標題等),這樣在Selenium測試頁(yè)面中可以通過(guò)調用頁(yè)面類(lèi)來(lái)獲取頁(yè)面元素,這樣巧妙的避免了當頁(yè)面元素id或者位置變化時(shí),需要改測試頁(yè)面代碼的情況。當頁(yè)面元素id變化時(shí),只需要更改測試頁(yè)Class中頁(yè)面的屬性即可。
它的好處如下:
原文轉自:http://gitbook.cn/books/58e54b57cfcd6fa52dcef1d2/index.html