您好,欢迎来到海洋目录网!网站收录,值得选择!长期招友情链接 QQ10212321

快审
当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

pytest运行时记录操作步骤的简单实现

来源:网站目录 浏览:30次 时间:2020-09-19
from com.chanpin.initialize.Start import Primary   # 公共全局对象step_record = []  # 列表,用于记录所有的步骤值def func_runstep(stepname):    """    :param stepname 操作说明,请不要包含‘开始执行’    记录操作步骤的装饰器    """    __driver = Primary.driver    """    真正实现的函数,该装饰器可以添加接收参数stepname    """    def my_decorator(func):        def wrapped(*args, **kwargs):            if "开始执行步骤" in stepname:                Primary.Log.warn("操作步骤内容存在‘开始执行步骤’,请不要出现该值,以免影响后续的操作判断")            Primary.Log.info("开始执行步骤:" + stepname + "。方法名为:" + func.__name__)            step_record.append(stepname)            return func(*args, **kwargs)        return wrapped    return my_decorator


装饰器函数说明:装饰器用于记录操作步骤,在相关的代码上进行装饰,用于后续的分析


装饰器简介:装饰器分为函数装饰器和类装饰器,装饰器可带参数和不带参数其中func参数代表真正被装饰的方法


不带参数装饰器:


def my_decorator(func):   def wrapped(*args**kwargs):       func(*args**kwargs)   return wrapped


带参数的装饰器请参考上方的装饰器必须实现 __call__ 和 __init__两个内置函数,

其中在__init__ (self,func)添加func参数

(func):    ._func = func

在__call__(self,*args, **kwargs) 方法中实现装饰操作

(*args**kwargs):       :        Log.info()        ._func(*args**kwargs)    e:        Log.error(sys._getframe().f_code.co_name + + e.())


其中类装饰器也可以带参数,操作可以在__init__()添加参数值即可,在__call__中添加wrapper内置方法,与函数装饰器一致

推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net