基于 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