no tests ran in 0.03 seconds

明明有tests为什么还说no tests呢?而且也没有其他明显的错误?
后面研究了好久才发现,在pycharm中使用 unittest框架 时,每个测试方法都应该遵循 testXX 的规律,这样才能识别出来是一个测试方法【为了分清方法执行的先后顺序,可在test后面加数字】,你没说明那是测试方法,自然就识别不出来了。

这里我写了一个简单的例子:

import unittest
from time import sleep
from selenium import webdriver

driver=None
class unitTestMock(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        global driver
        driver = webdriver.Chrome()
        driver.maximize_window()
        print("运行setUpClass...")

    def setUp(self):
        print("运行setUp...")

    def test1_WebTours(self):
        driver.get("http://localhost:1080/WebTours/")
        sleep(3)
        
    def test2_Login(self):
        driver.switch_to.default_content()
        driver.switch_to.frame("body")
        driver.switch_to.frame("navbar")
        driver.find_element_by_name("username").clear()
        driver.find_element_by_name("password").clear()
        driver.find_element_by_name("username").send_keys("LiHang")
        driver.find_element_by_name("password").send_keys("123456")
        # 点击登录按钮
        driver.find_element_by_name("login").click()
        sleep(3)

    def test3_ClickFlights(self):
        driver.switch_to.default_content()
        driver.switch_to.frame("body")
        driver.switch_to.frame("navbar")
        driver.find_element_by_xpath("//img[@alt=\"Search Flights Button\"]").click()
        sleep(3)

    def tearDown(self):
        print("运行tearDown...")

    @classmethod
    def tearDownClass(cls):
        driver.quit()
        print("运行tearDownClass...")

if __name__=="__main__":
    unittest.main(verbosity=2)

一共写了三个测试方法,分别是 test1_WebTours、test2_Login、 test3_ClickFlights,执行顺序也就是1,2,3。

猜你喜欢

转载自blog.csdn.net/qq_43096786/article/details/110877867
今日推荐