Robotframework 如果第一个测试用例失败,如何停止Robot框架测试执行?
如下面的robot文件所示,我有三个测试用例。如果TESTCASE1失败,我想停止测试执行。只有当TESTCASE1通过时,才应该执行TESTCASE2Robotframework 如果第一个测试用例失败,如何停止Robot框架测试执行?,robotframework,Robotframework,如下面的robot文件所示,我有三个测试用例。如果TESTCASE1失败,我想停止测试执行。只有当TESTCASE1通过时,才应该执行TESTCASE2 *** Settings *** Library pythonLib *** Test cases *** TESTCASE1 boot device TESTCASE2 configure device TESTCASE3 restart device 是否有任何关键字或自定义方法来实
*** 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)中似乎不是有效的标志。你在哪里看到的?这是定制的,实际上,它现在不起作用。可能类似于致命错误
内置关键字。