Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 如何在setupModule中使用驱动程序初始化_Selenium_Selenium Webdriver_Python Unittest - Fatal编程技术网

Selenium 如何在setupModule中使用驱动程序初始化

Selenium 如何在setupModule中使用驱动程序初始化,selenium,selenium-webdriver,python-unittest,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(uni

当我在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打开,也不会运行该文件中的情况,这将导致浏览器始终打开。

我建议使用一个基类来处理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

关于webdriver实例化,它必须在模块范围内吗?通常,如果一个页面中有许多函数,人们会在类或函数范围内完成这项工作。我想为不同的函数创建许多类,所以我需要一个通用的类外初始化,模块设置和拆卸是最好的方法。明白了。它对我有用。我改用setupclass方法。谢谢