首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Python函数记录到类似log.html的机器人关键字

将Python函数记录到类似log.html的机器人关键字
EN

Stack Overflow用户
提问于 2018-10-19 12:42:07
回答 1查看 237关注 0票数 0

Python代码

代码语言:javascript
复制
from robot.api.deco import keyword
from robot.api import logger    

def decorator():
    ....
    do something
    ....

class Tester(object):
    @keyword
    def run_hello(self):
        self.hello()

    @decorator
    def hello(self):
        logger.info("hello word")

机器人代码

代码语言:javascript
复制
*** Settings ***
Library    Test.py 

*** Test Cases ***
Run Hello
    Run Hello

当机器人运行关键字run_hello时,python函数hello()可以像机器人用户关键字一样登录到log.html?如何编写decorator函数?

我想要像图片一样的log.html:

EN

回答 1

Stack Overflow用户

发布于 2018-11-07 10:50:04

我已经解决了。和我的python代码

代码语言:javascript
复制
from functools import wraps
from robot.libraries.BuiltIn import register_run_keyword
from robot.libraries.BuiltIn import BuiltIn

def robot_run_keyword(func):
@wraps(func)
def func_wrapper(self,*args, **kwargs):
    if not hasattr(func, "second"):
        setattr(func, "second", True)
        ar = list(args)
        for key, value in kwargs.items():
            ar.append("%s=%s"%(key,value))
        register_run_keyword("WiseLibrary",func.__name__,len(ar),deprecation_warning=False)
        return BuiltIn().run_keyword(func.__name__, *ar)
    else:
        delattr(func, "second")
        return func(self,*args, **kwargs)
return func_wrapper
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52885994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档