我正在使用机器人框架来测试我的应用程序
我在测试中使用拆解。
它可以按预期工作,如果我的测试结束或失败,则拆卸开始执行。当拆卸执行失败时,我的问题开始了,然后我希望它停止。
*** 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
方案是当“在过滤器中插入名称”失败时,我希望它停止运行,但是执行“删除用户”关键字。
是否可以预防?
答案 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