有没有办法配置Robot Framework,以便执行不会因失败而停止

时间:2018-05-08 07:11:37

标签: python testing automated-tests robotframework atdd

我知道运行关键字并继续失败/运行关键字并忽略错误/运行关键字并返回状态Builtin关键字但我有一组非常广泛的测试用例,不应因特定原因而停止方案,我想知道是否有一个选项,默认情况下不会使执行停止,而不必通过这些关键字管理它,并在我的上层关键字中添加非业务相关的语法。

2 个答案:

答案 0 :(得分:2)

一般来说,机器人根本没有按照您想要的方式工作。它设计为在关键字失败时退出测试,除非您使用其中一个特殊关键字明确运行该关键字(例如:https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md)。

在一些非常有限的情况下,您可以通过使用为每个测试步骤调用run keyword and continue on failure的模板来获得此行为。只有当您的测试用例严格按关键字组成时,此技术才有效,并且不会尝试将关键字结果保存到变量中。

例如,请考虑此测试:

*** Test cases ***
Example
    log   step one
    log   step two
    fail  something went wrong
    fail  something else went wrong
    log   last step

如果您运行上述测试,它将在第一次失败时停止。但是,通过添加使用run keyword and continue on failure的测试模板,所有步骤都将在继续下一个测试之前运行:

*** Test cases ***
Example
    [Template]  Run keyword and continue on failure
    log   step one
    log   step two
    fail  something went wrong
    fail  something else went wrong
    log   last step

这是上述测试报告的样子:

run keyword and continue on failure

答案 1 :(得分:1)

虽然感觉有点违反直觉,但是当您遇到错误的情况时,您应该继续这样做,因为您可能无法再控制应用程序。这本身就应该被阻止。但是,那说。

鉴于您已熟悉Run和continue系列的关键字,因此没有其他建议并回答肯定的问题:否。

唯一的方法是将关键字包装在Run and Continue关键字中。