基于 SELENIUM 的自動化測試架構(26)
發表于:2017-04-11來源:gitbook作者:凌俁Linty?點擊數:
標簽:selenium
# 與Java的TestNG 相反,先寫期待值,再寫實際值 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自動化測試項目的最佳設計模式之一,強調測試、邏輯、數據和驅動相互分離。
Page Object模式是Selenium中的一種測試設計模式,主要是將每一個頁面設計為一個Class,其中包含頁面中需要測試的元素(按鈕,輸入框,標題等),這樣在Selenium測試頁面中可以通過調用頁面類來獲取頁面元素,這樣巧妙的避免了當頁面元素id或者位置變化時,需要改測試頁面代碼的情況。當頁面元素id變化時,只需要更改測試頁Class中頁面的屬性即可。
它的好處如下:
原文轉自:http://gitbook.cn/books/58e54b57cfcd6fa52dcef1d2/index.html