最近在學習selenium時,使用unittest框架進行代碼測試時,發現報以下錯誤:
Ran 0 test in 0.00s
OK
原因:
- unittest提供了全局的main()方法,使得一個單元測試模塊變成可以直接運行的測
試腳本,main()方法使用TestLoader類來搜索所有包含在模塊中以“test”命名開
頭的測試方法,並自動執行它們 。例:test_search、testsearch
故而,將解決辦法記錄如下(以下是我測試代碼,已正常運行):
#!/user/local/bin/python2.7
# -*- coding:utf-8 -*-
#unittest框架測試
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
class PythonOrgSearch(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
#測試方法需以test開頭,否則報錯:Ran 0 test in 0.00s
def test_search_in_python(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()
運行結果:
Ran 1 test in 14.929s
OK