我有一个基类
class Environment(unittest.TestCase):
def setUp(self):
options_for_console_log = DesiredCapabilities.CHROME
options_for_console_log['loggingPrefs'] = {'browser': 'ALL'}
self.driver = webdriver.Chrome(desired_capabilities=options_for_console_log)
self.driver.maximize_window()
print('1', self.driver)
def tearDown(self):
driver = self.driver
driver.close()
和一个继承基类的类
class StatusesCheckManual(Environment):
def __init__(self):
super(Environment).__init__()
def test_1_add_materials(self):
self.create_order = CreateOrder(self.driver)
self.order_statuses = Order_manual_statuses(self.driver)
self.order = Order(self.driver)
self.order_id = self.create_order.create_fake_order()
LoginAsAdmin(self.driver).login()
self.order.go_to_order(self.order_id)
status = self.order_statuses.change_to_addmat()
self.assertEqual(status, 'Add Materials')
但我明白了
init () 接受 1 个位置参数,但给出了 2 个
我如何需要 inerhit 基类?
由于您没有在此处覆盖init () 方法中的任何内容,因此您没有必要将其包含在您的 StatusesCheckManual 子类中。
如果确实需要覆盖init (),则还需要在 Environment 中进行,并确保包含相同的参数:
class StatusesCheckManual(Environment):
def __init__(self, methodName='runTest'):
super(StatusesCheckManual, self).__init__(methodName)
class Environment(unittest.TestCase):
def __init__(self, methodName='runTest'):
super(Environment, self).__init__(methodName)
(请注意 super 的第一个 arg 是当前类,而不是父类)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句