我如何在setupModule中使用驱动程序init

问题描述 投票:0回答:1

当我在python3中使用unittest时,我试过这样:

import unittest
from selenium import webdriver

def setupModule():
    driver = webdriver.Firefox
    driver.maximize_window()
    driver.get('www.google.com')

def teardownModule():
    driver.close()

class test_01(unittest.TestCase):
    def setUp(self):
        driver.xxxx

    def tearDown(self):
        driver.xxxx

    def test_0001(self):
        driver.yyyy

    def test_0002(self):
        driver.zzzz

class test_02(unittest.TestCase):
    def setUp(self):
        driver.xxxx

    def tearDown(self):
        driver.xxxx

    def test_0001(self):
        driver.yyyy

    def test_0002(self):
        driver.zzzz

类和teardownModule中的驱动程序无法识别。有没有办法让它可用?

我不想把driver = webdriver.Firefox从def中删除,好像我有2个py文件用于不同的情况,它将首先启动2个或更多的firefox,也不会运行该文件中的情况,它将导致该浏览器始终打开。

selenium selenium-webdriver python-unittest
1个回答
0
投票

我建议有一个基类来处理webdriver设置和拆卸,即:

class BaseTest(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox

    def tearDown(self):
        self.driver.quit()

class test_01(BaseTest):
    def test_0001(self):
        self.driver.xxx

class test_02(BaseTest):
    def test_0002(self):
        self.driver.xxx
© www.soinside.com 2019 - 2024. All rights reserved.