文档章节

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

o
 osc_wws45aot
发布于 2019/08/20 11:43
字数 169
阅读 14
收藏 0

场景:

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

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

树莓派4b + Ubuntu20.04 Server 安装Java8

安装环境: 树莓派4b + Ubuntu20.04 Server 32位 1. 下载jdk https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 2. 解压 tar -zxvf jdk-8u251-linux-arm32-vf......

SummerGao
10分钟前
9
0
项目实战:Qt+OpenCV图像处理与识别算法平台

若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址:h...

红模仿_红胖子
13分钟前
7
0
北京智源大会 | AI + 医疗的下一个十年:从公共卫生预警到人类基因密码破解 道翰天琼认知智能api机器人接口。

医疗事关人身安全,要求极高,容错率极低,因此,知识壁垒和技术壁垒都很高。过去,AI系统更多的是服务于终端,辅助医生诊断、决策。但是,医疗很复杂,直接切入终端问题很多。未来十年,AI+...

jackli2020
17分钟前
11
0
源于HystrixCommandStartStream和RollingCommandMaxConcurrencyStream 的 RxJava demo

其实,最近在工作之余看Hystrix源代码已经有一个多月了, 除了对 HystrixCommandProperties ,HystrixCommand 和AbstractCommand 几个类比较了解以外,其余看山不是山,比较懵, 主要是因为H...

专业写BUG的程序员
20分钟前
16
0
聊聊Java中的异常及处理

前言 在编程中异常报错是不可避免的。特别是在学习某个语言初期,看到异常报错就抓耳挠腮,常常开玩笑说编程1分钟,改bug1小时。今天就让我们来看看什么是异常和怎么合理的处理异常吧! 异常...

良许Linux
23分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部