如何在 Robot Framework 中的测试拆解之外捕获 ${TEST STATUS}

How to capture ${TEST STATUS} outside of Test Teardown in Robot Framework

我想访问 Test Teardown 之外的 ${TEST STATUS},即我想将状态记录到一个变量并将结果捕获到 csv 中。

*** Test Cases ***
Sample Test
    [Teardown]  ${status}=  Set Variable  ${TEST_STATUS}

执行此操作时出现以下错误

Teardown failed:
Variable '${status}' not found. Did you mean:
    ${TEST_STATUS}

Test Teardown之外是否无法获取PASSFAIL状态?

[Teardown] 设置需要关键字作为其第一个参数。您不能提供将关键字的结果分配给变量的语句。当它看到${status}=时,它认为${status}=是关键字。

如果你想保存变量,你必须创建一个关键字来保存它,然后从拆解中调用该关键字。可能是这样的:

*** Keywords ***
Save Status
    set suite variable  ${status}    ${TEST_STATUS}

*** Test Cases ***
Sample Test
    [Teardown]  Save status

Is it not possible to grab the PASS or FAIL status outside of Test Teardown?

不,不是。文档说 ${TEST STATUS} 仅在测试拆解中可用。这是合乎逻辑的,因为在拆解之前没有状态,而在拆解之后你正在进行另一个测试或套件拆解,所以机器人不知道你想要哪个测试的状态。