一開始在windows下運行沒有問題,但是在linux下運行卻報如下錯誤:
AttributeError: module 'unittest' has no attribute 'TestRunner',
在網上找了好多資料看了一下都提示存在與unittest模塊同名的.py文件
但是我查了一點也沒有發現與之同名的文件,最后偶然間看到有人用TextTestRunner()這個方法於是把TestRunner換成TextTestRunner問題解決下面是我的代碼:
import unittest
from selenium import webdriver
import time
class Search_KeyWords(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(30)
self.url = "http://www.baidu.com/"
def test_search_davieyang(self):
driver = self.driver
driver.get(self.url)
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("davieyang")
driver.find_element_by_id("su").click()
time.sleep(3)
try:
self.assertTrue("davieyang" in driver.page_source)
except AssertionError as e:
raise e
def test_search_selenium(self):
driver = self.driver
driver.get(self.url)
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)
try:
self.assertTrue("davieyang" in driver.page_source)
except AssertionError as e:
raise e
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(Search_KeyWords('test_search_davieyang'))
suite.addTest(Search_KeyWords('test_search_selenium'))
runner = unittest.TestRunner()
runner.run(suite)
修改后的代碼:
import unittest
from selenium import webdriver
import time
class Search_KeyWords(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(30)
self.url = "http://www.baidu.com/"
def test_search_davieyang(self):
driver = self.driver
driver.get(self.url)
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("davieyang")
driver.find_element_by_id("su").click()
time.sleep(3)
try:
self.assertTrue("davieyang" in driver.page_source)
except AssertionError as e:
raise e
def test_search_selenium(self):
driver = self.driver
driver.get(self.url)
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)
try:
self.assertTrue("davieyang" in driver.page_source)
except AssertionError as e:
raise e
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(Search_KeyWords('test_search_davieyang'))
suite.addTest(Search_KeyWords('test_search_selenium'))
runner = unittest.TextTestRunner()
runner.run(suite)