py脚本结构如下:
#coding:utf-8
from selenium import webdriver
import unittest
import time
import sys
reload(sys)
sys.setdefaultencoding('utf8')
class MyTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(10)
self.url = "http://www.baidu.com/"
def baidu_search(self):
driver = self.driver
driver.get(self.url)
driver.find_element_by_id("kw").send_keys("unittest")
driver.find_element_by_id("su").click()
time.sleep(3)
title = driver.title
self.assertEqual(title, "unittest_百度搜索")
def tearDown(self):
self.driver.close()
if __name__ == '__main__':
unittest.main()
执行结果如下:
Ran 0 tests in 0.000s
OK
Process finished with exit code 0
Empty test suite.
原因:unittest提供了全局的main()方法,使得一个单元测试模块变成可以直接运行的测试脚本,main()方法使用TestLoader类来搜索所有包含在模块中以“test”命名开头的测试方法,并自动执行它们
解决方式:将方法名“baidu_search”改为“test_baidu”或“testbaidu”都OK