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

在robotframework中,在不停止测试执行的情况下使关键字失败,robotframework,Robotframework,从关键字引发错误的方法是使用robot.api.logger类 def test_keyword(): logger.error("Report error") 这将在log.html文件中的关键字下创建一个错误行,但不会使关键字失败 关键字失败的方式是引发异常 def test_keyword(): raise Exception("Not implemented") 这会使关键字以及调用该关键字的测试用例失败。但这也停止了测试用例的进一步执行 是否有任何方法可以在不停止测

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

def test_keyword():
    logger.error("Report error")
这将在log.html文件中的关键字下创建一个错误行,但不会使关键字失败

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

def test_keyword():
    raise Exception("Not implemented")
这会使关键字以及调用该关键字的测试用例失败。但这也停止了测试用例的进一步执行

是否有任何方法可以在不停止测试用例执行的情况下使关键字失败?

来自:

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

当测试结束且出现一个或多个持续故障时,测试将被标记为失败。如果存在多个故障,则所有故障都将在最终错误消息中枚举:

Several failures occurred:

1) First error message.

2) Second error message ...
从测试库发出此信号的方法是向用于通信故障的异常添加一个特殊的ROBOT_CONTINUE_ON_FAILURE属性,该属性的值为True。下面的例子说明了这一点

class MyContinuableError(RuntimeError):
    ROBOT_CONTINUE_ON_FAILURE = True

这是什么意思?关键字失败-测试用例失败。继续执行测试的原因是什么?您能解释一下这与您当前的logger.error方法有什么不同吗?从您的描述看来,这确实是您想要的。@ Pytho:在测试用例中考虑一个具有多个验证/验证关键字的测试用例。例如:验证\u xyz\u组件\u是否可见,验证\u列中显示的\u总数\u等。如果我的第一个关键字验证\u xyz\u组件\u是否可见失败,我仍然想检查我的第二个关键字的状态验证\u总计\u显示\u列和关键字,之后在停止执行我的测试之前,您可以使用Run关键字忽略错误或Run关键字并在失败时继续或Run关键字并返回状态。@A.Kootstra:从关键字中调用logger.Error会记录错误,但该关键字的状态仍然为“通过”。我想要的是有一种机制,通过它我可以在不停止执行的情况下将关键字的状态更改为失败