在selenium python中定义自定义函数

2024-09-30 01:34:33 发布

您现在位置:Python中文网/ 问答频道 /正文

如何定义自定义函数,然后在测试函数中使用它,它在我运行单个测试用例时有效,但在我运行多个测试用例时不起作用。在

class AlphaTest(unittest.TestCase):
        def setUp(self):
            self.driver = webdriver.Firefox()
            self.driver.implicitly_wait(30)
            self.driver.get("http://google.com/")

         def asserTrueId(self, value):
             self.assertTrue(self.driver.find_element_by_id(value))
             time.sleep(1)


         def test_flush_cache(self):
            self.asserTrueId("block-menu-menu-menu-for-directories")

Tags: 函数self定义valuedefdriversetup测试用例
1条回答
网友
1楼 · 发布于 2024-09-30 01:34:33

您可以使用unittest.setUpClass()来实例化一个类级别的driver实例。类似地,如果需要,可以使用tearDownClass()清理类级别的变量。在

由于setUpClass()和{}只在测试类中运行一次,因此可以使用它来保证只有一个驱动程序。否则,使用setUp()将为每个测试方法运行(每次都创建一个浏览器实例),这可能会很慢,并且可能会导致内存效率低下。在

class AlphaTest(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Firefox()
        cls.driver.implicitly_wait(30)
        cls.driver.get("http://google.com/")

    def asserTrueId(self, value):
        self.assertTrue(self.driver.find_element_by_id(value))
        time.sleep(1)

    def test_flush_cache(self):
        self.asserTrueId("block-menu-menu-menu-for-directories")

相关问题 更多 >

    热门问题