机器人框架在失败时停止执行拆卸

时间:2019-11-11 15:20:53

标签: robotframework teardown

我正在使用机器人框架来测试我的应用程序

我在测试中使用拆解。

它可以按预期工作,如果我的测试结束或失败,则拆卸开始执行。当拆卸执行失败时,我的问题开始了,然后我希望它停止。

*** Test Cases ***
Test new data import
   Setup test case
   Run test case
   [Teardown]  TearDown test case

Teardown test case
   Insert name in filter
   Delete user

方案是当“在过滤器中插入名称”失败时,我希望它停止运行,但是执行“删除用户”关键字。

是否可以预防?

2 个答案:

答案 0 :(得分:1)

尝试此操作以防止在调用exitonfailure时执行“删除用户”关键字:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#stopping-when-first-test-case-fails

用法:使用选项时,必须始终在运行脚本和数据源之间给出这些选项

--exitonfailure -x

示例:robot --exitonfailure 01_robot_test.robot

  

如果使用选项--exitonfailure(-X),则在任何关键测试失败时,测试执行将立即停止。其余测试未实际执行就标记为失败。

答案 1 :(得分:1)

我终于做了一些研究,看看为什么--exitonfailure(在其他答案中建议)对我不起作用,因为它错过了拆卸工作流程。

https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#id689可以停止执行拆解

拆卸->即使某些关键字失败,它们也会完全执行。

所以,我要解决的是使用Run Keyword并返回Status和Run Keyword来解决:

*** Test Cases ***
Test new data import
  Setup test case
  Run test case
  [Teardown]  TearDown test case

Teardown test case
  ${filterStatus}  Run keyword and return status  Insert name in filter
  Run keyword if  ${filterStatus}  Delete user
  ... ELSE  fail  Filter filter by name failed