Регистрация функции Python в log.html как ключевые слова робота - PullRequest
0 голосов
/ 19 октября 2018

Код Python

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")

Код робота

*** Settings ***
Library    Test.py 

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

Когда ключевое слово запуска робота run_hello, функция Python hello() может регистрироваться в log.html как ключевое слово пользователя робота?Как написать функцию decorator?

И я хочу, чтобы log.html был похож на изображение log.html images

1 Ответ

0 голосов
/ 07 ноября 2018

Я решил это.И мой код Python

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...