码迷,mamicode.com
首页 > 编程语言 > 详细

python 装饰器调用其他类中的方法

时间:2019-08-20 12:57:01      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:抽取   log   登录密码   自动化   exce   one   cep   res   filename   

场景:

  做自动化是,每次都需要调用登录方法,代码重复比较多,在这种场景下,将登录功能抽取为装饰器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

 

python 装饰器调用其他类中的方法

标签:抽取   log   登录密码   自动化   exce   one   cep   res   filename   

原文地址:https://www.cnblogs.com/ioan/p/11382029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!