单元测试用例在 python selenium 中不起作用

Unit test case not working in python selenium

我试过下面的单元测试用例,它没有打开网络浏览器并直接打印“完成”消息。

from selenium import webdriver
import unittest


class GoogleSearch(unittest.TestCase):

    # driver = None

    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Chrome(executable_path='../Drivers/chromedriver')
        cls.driver.maximize_window()

    def test_search(self):
        self.driver.get('https://www.google.com')
        self.driver.find_element_by_name("q").send_keys("facebook")
        self.driver.implicitly_wait(10)
        self.driver.find_element_by_name("btnI").click()
        # driver.find_element_by_name("btnI").send_keys(Keys.ENTER)

    @classmethod
    def tearDownClass(cls):
        # driver.implicitly_wait(5)
        cls.driver.quit()
        cls.print("test completed")


print("done")

定义单元测试后,您必须调用它。使用 unittest.main().

调用测试
from selenium import webdriver import unittest


class GoogleSearch(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Chrome(executable_path='../Drivers/chromedriver')
        cls.driver.maximize_window()

    def test_search(self):
        self.driver.get('https://www.google.com')
        self.driver.find_element_by_name("q").send_keys("facebook")
        self.driver.implicitly_wait(10)
        self.driver.find_element_by_name("btnI").click()
        # driver.find_element_by_name("btnI").send_keys(Keys.ENTER)

    @classmethod
    def tearDownClass(cls):
        # driver.implicitly_wait(5)
        cls.driver.quit()
        cls.print("test completed")

if __name__ == '__main__':
    unittest.main()  # <- runs your unittest
    print("done")