首页 > 解决方案 > 机器人框架捕获关键字标准输出日志

问题描述

我有一个在机器人测试/关键字中执行的 python 函数;

*** Test Cases ***

Module test case: Run the engine
    @{args}=            Create List
    Append To List  ${args}  --yaml-db  ${create_sites_wf}
    Log  ${args}
    ${output}=  Run  ${args}  <<<<<<<<< entrypoint function
    Log  ${output}

该过程不会返回任何内容,但会向 STDOUT 输出日志,机器人框架会在测试套件 logs.html 中捕获该日志。但是,我需要在测试用例中捕获这些 STDOUT 日志并测试诸如“SUCCESS”或“FAILURE”之类的字符串。

将关键字的输出分配Run给上面的变量只会给我None(没有返回任何内容Run)。

有没有办法将这些 STDOUT 日志捕获到测试用例变量并在测试用例中使用内容?

我的自定义关键字的一个非常人为的例子是;

def run(args):
    if args.this:
        print("SUCCESS")
    else:
        print("FAILURE")

标签: pythonrobotframework

解决方案


推荐阅读