Robotframework 如果第一个测试用例失败,如何停止Robot框架测试执行?

Robotframework 如果第一个测试用例失败,如何停止Robot框架测试执行?,robotframework,Robotframework,如下面的robot文件所示,我有三个测试用例。如果TESTCASE1失败,我想停止测试执行。只有当TESTCASE1通过时,才应该执行TESTCASE2 *** Settings *** Library pythonLib *** Test cases *** TESTCASE1 boot device TESTCASE2 configure device TESTCASE3 restart device 是否有任何关键字或自定义方法来实

如下面的robot文件所示,我有三个测试用例。如果TESTCASE1失败,我想停止测试执行。只有当TESTCASE1通过时,才应该执行TESTCASE2

*** Settings ***

Library         pythonLib


*** Test cases ***

TESTCASE1
    boot device

TESTCASE2
    configure device

TESTCASE3
    restart device  

是否有任何关键字或自定义方法来实现这一点

有一个命令行选项用于此操作,如果您想要robot在任何测试失败时立即停止运行的行为。此选项是
--exitonfailure
。摘自《机器人框架用户指南》,标题为:

如果使用选项
--exitonfailure
,则测试执行会立即停止,如果 任何关键测试都会失败。其余的测试也标记为 失败了


您可能还想看看这个问题,它显示了如何编写关键字来实现测试用例之间的依赖关系

--如果脚本出现错误,暂停将停止执行。除非显式启动,否则脚本执行不会恢复

完成工作有多种方法,每种方法都适合不同的情况

--exitonfailure 命令行选项
--exitonfailure
任何测试用例失败后中止测试运行,除非它被标记

致命错误 您可能只想在
TESTCASE1失败时中止。关键字exist仅用于此目的:

TESTCASE1
    ${passed}=  Run Keyword And Return Status  boot device
    Run Keyword If  not ${passed}  Fatal Error
如果您觉得这很笨拙,您可以抛出致命错误

套件设置 这些工具将完成工作,在某些情况下是合适的。尽管就询问者而言,我观察到:

  • 第一个测试用例必须通过才能运行任何其他测试
  • 它运行一个名为
    boot device
    的关键字
对我来说,这不是一个测试用例。这是一种设置。如果您需要在一组测试用例之前运行一次安装程序,则应将其指定为
套件安装程序

***Settings***
    Suite Setup    boot device

pause\u on\u failure
在robot framework的当前版本(3.1.1)中似乎不是有效的标志。你在哪里看到的?这是定制的,实际上,它现在不起作用。可能类似于
致命错误
内置关键字。