使用selenium测试
Selenium
经常被用来写测试用例,它本身的包不提供测试的工具或者框架。我们可以用Python的单元测试模块来编写测试用例。其他工具/框架也可以选择 py.test
或者nose
。 在本章节我们使用unittest
做框架,下面是一个用unittest
模块改进后的例子,是对
python.org
函数搜索功能的测试:
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
class PythonOrgSearch(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
def test_search_in_python_org(self):
driver = self.driver
driver.get("http://www.python.org")
self.assertIn("Python", driver.title)
elem = driver.find_element_by_name("q")
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
def tearDown(self):
self.driver.close()
if __name__ == "__main__":
unittest.main()
你可以在shell
里运行这个测试用例:
python test_python_org_search.py
.
----------------------------------------------------------------------
Ran 1 test in 15.566s
OK
上面的结果表明我们的测试用例成功执行了。