python 裝飾器調用其他類中的方法


場景:

  做自動化是,每次都需要調用登錄方法,代碼重復比較多,在這種場景下,將登錄功能抽取為裝飾器demo

class Test:
  data= get_yaml_date_by_fillter(filename ='warehouse_case.yaml',filter='whpage')

  @ddt.data(*data)
  @login
  def test_OpenWareHouse_Info(self,data):
   try:
   for key in data:
   result = WarehouseInfo.openWareHouseInfo(self)
  if result == data[key]['assert']:
   logger.info('%s 測試結果:%s' % (key, '通過'))
   self.assertEqual(result,data[key]['assert'])
   except:
   raise

 

def login(func):
'''
登錄功能抽取為裝飾器
:param func:
:return:
'''
# 獲取正確登錄密碼賬號登錄系統
login_data = get_yaml_date_by_fillter(filename='login.yaml', filter='login')[2]

def wrapper(self,*args):
# 調用登錄方法
result = LoginModel.login_success(self,login_data['login_case_003'])
if result != None:
return func(self,*args)
else:
print('登錄失敗')

return wrapper

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM