Selenium 如何在setupModule中使用驱动程序初始化
当我在python3中使用unittest时,我尝试如下: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
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方法。谢谢