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

时间:2019-04-03 05:00:20

标签: selenium selenium-webdriver python-unittest

当我在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

无法识别class和teardownModule中的驱动程序。有什么办法使它可用?

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

1 个答案:

答案 0 :(得分: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