在没有停止robotframework中的测试执行的情况下使关键字失败

时间:2018-06-26 10:25:30

标签: robotframework

我从关键字中引发错误的方法是使用robot.api.logger类

def test_keyword():
    logger.error("Report error")

这会在log.html文件中的关键字下方创建一条错误行,但不会使关键字失败。

关键字失败的方法是引发异常。

def test_keyword():
    raise Exception("Not implemented")

这会使关键字以及调用关键字的测试用例均失败。但这也停止了测试用例的进一步执行。

有什么方法可以使关键字失败而不停止测试用例的执行吗?

1 个答案:

答案 0 :(得分:1)

来自documentation

库关键字使用异常报告失败,并且可以使用特殊的异常来告诉核心框架无论失败如何都可以继续执行。

当测试结束并且有一个或多个连续失败时,该测试将标记为失败。如果有多个失败,则所有错误都会在最终错误消息中枚举:

Several failures occurred:

1) First error message.

2) Second error message ...

从测试库发出此信号的方式是将特殊的ROBOT_CONTINUE_ON_FAILURE属性带有True值添加到用于传达故障的异常中。下面的示例对此进行了说明。

class MyContinuableError(RuntimeError):
    ROBOT_CONTINUE_ON_FAILURE = True