请解释一下为什么DRIVER在decorator auto_login中等于None。但是,从setUp和auto_login方法打印它时,setUp方法中的DRIVER先输出。 如何从setUp方法全局设置驱动程序。如何在unittest中通过setUp方法设置全局的硒测试驱动
DRIVER = None
class BaseTest(unittest.TestCase):
def setUp(self):
global DRIVER
DRIVER = webdriver.Firefox()
print("DRIVER setUp: ", DRIVER)
def tearDown():
.....
和装饰
def auto_login(email, password):
def create_dec(func):
def wrapper(*args, **kwargs):
print("DRIVER IN DEC: ", DRIVER)
login(DRIVER, email, password)
func(*args, **kwargs)
return wrapper
return create_dec
这是我如何使用装饰测试
class Test(BaseTest):
EMAIL = "[email protected]"
PASSWORD = "xxxxx"
@auto_login(email=EMAIL, password=PASSWORD)
def test_1(self):
......
输出:
DRIVER setUp: <selenium.webdriver.firefox.webdriver.WebDriver (session="e1f7fa5fa4137305c4587535b20b849c")>
DRIVER IN DEC: None
是,它并没有帮助 –