谢谢您的回答,但是我参考您的方法创建在init中,并传入参数self,下面两个类装饰器调用self,但在最后面teardownclass中依然无法调用,方法一失败。方法二可行。
方法一:class Test_Comeponent(unittest.TestCase):
def __init__(self):
self.driver = webdriver.Chrome()
@classmethod
def setUpClass(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(5)
self.driver.maximize_window()
self.driver = forms(self.driver)
self.driver.open(def tearDownClass(self):
self.driver.quit()
方法二:
class Test_Comeponent(unittest.TestCase):
driver = webdriver.Chrome()
@classmethod
def setUpClass(cls):
#cls.driver = webdriver.Chrome()
cls.driver.implicitly_wait(5)
cls.driver.maximize_window()
cls.driver = forms(cls.driver)
cls.driver.open(def tearDownClass(cls):
cls.driver.quit()
def test_form1(self):
pass
目前可以采用方法二传递,但是资料说明 cls和self在这里并无太大区别,一般self一般指实例化对象,cls指的是类本身,显然采用类装饰器后,cls参数在这里作为类本身,所以调用的必须时类的变量,init方法在这里同样是指对象实例化后,所以init的方法中的变量值得时实例化后的对象变量,而不是类本身自带的变量,必须实例化后拥有,我这样理解对么