机器人框架在失败时停止拆卸执行
robot framework stop teardown execution in failure
我正在使用机器人框架来测试我的应用程序
我在测试中使用了拆解。
它按预期工作,如果我的测试结束或失败,拆解开始执行。当拆卸执行失败时,我的问题就开始了,然后我希望它停止。
*** 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
场景是当"Insert name in filter"失败时,我想让它停止运行,但它执行了"Delete user"关键字。
是否可以预防?
试试这个以防止在调用 exitonfailure 时执行 "Delete user" 关键字:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#stopping-when-first-test-case-fails
用法:使用选项时,必须始终在运行器脚本和数据源之间给出它们
--exitonfailure -x
示例:robot --exitonfailure 01_robot_test.robot
If option --exitonfailure (-X) is used, test execution stops immediately if any critical test fails. The remaining tests are marked as failed without actually executing them.
我终于做了一些研究,看看为什么使用 --exitonfailure(在其他答案中建议)对我不起作用,因为它错过了拆卸工作流程。
https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#id689 可以停止拆解执行
拆解 -> 即使某些关键字失败,它们也会完全执行。
所以,我要做的是使用 运行 关键字和 return 状态和 运行 关键字来解决:
*** 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
我正在使用机器人框架来测试我的应用程序
我在测试中使用了拆解。
它按预期工作,如果我的测试结束或失败,拆解开始执行。当拆卸执行失败时,我的问题就开始了,然后我希望它停止。
*** 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
场景是当"Insert name in filter"失败时,我想让它停止运行,但它执行了"Delete user"关键字。
是否可以预防?
试试这个以防止在调用 exitonfailure 时执行 "Delete user" 关键字:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#stopping-when-first-test-case-fails
用法:使用选项时,必须始终在运行器脚本和数据源之间给出它们
--exitonfailure -x
示例:robot --exitonfailure 01_robot_test.robot
If option --exitonfailure (-X) is used, test execution stops immediately if any critical test fails. The remaining tests are marked as failed without actually executing them.
我终于做了一些研究,看看为什么使用 --exitonfailure(在其他答案中建议)对我不起作用,因为它错过了拆卸工作流程。
https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#id689 可以停止拆解执行
拆解 -> 即使某些关键字失败,它们也会完全执行。
所以,我要做的是使用 运行 关键字和 return 状态和 运行 关键字来解决:
*** 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