定义
任何 critical 测试案例失败,停止测试
-X --exitonfailure Stops test execution if any critical test fails.
Short option -X is new in RF 3.0.1.
案例
测试目录结构如下
test_robot
| ---- __init__.robot
| ---- a.robot
| ---- b.robot
| ---- z_test (subfolder)
| ---- __init__.robot
| ---- c.robot
| ---- d.robot
测试命令: 在test_robot目录下执行命令pybot -L trace --exitonfailure .
测试模拟: 在不同的文件内加 Fail (Fatal Error)
keyword, 模拟case失败, 这两种情况不一样
- 场景:在test_robot目录下的__init__.robot 加
Fail
keyword
可以看到a那个case是失败的, b, c, d case都是含有tagrobot-exit
image.png
image.png
- 场景:在z_test (subfolder)目录下的__init__.robot 加
Fail
keyword
可以看到a,b case是成功的, c那个case是失败的, d case含有tagrobot-exit
image.png
image.png
- 场景:在test_robot目录下的__init__.robot 加
Fatal Error
keyword
可以看到init是失败的, a, b, c, d case都是含有tagrobot-exit
image.png
image.png
- 场景:在z_test (subfolder)目录下的__init__.robot 加
Fatal Error
keyword
可以看到a,b case是成功的, init是失败的, c, d case含有tagrobot-exit
image.png
image.png
总结
在robot中 fail 和 fatal 失败是完全不一样的
- Fail
-
失败在init步骤,后面的test case失败message都是一样的AssertionError,没有增加任何tag
-
运行加上参数
--exitonfailure
, 失败在init步骤或者a.robot 步骤, 第一个test case失败message为AssertionError, 后面失败的case(第二个开始)会自动增加tagrobot-exit
, message 为Critical failure occurred and exit-on-failure mode is in use. -
失败在a.robot步骤,第一个test case失败message为AssertionError, 后面的case正常跑下去
-
- Fatal Error
-
失败在init步骤,后面的失败case 会自动增加tag
robot-exit
, message 为Test execution stopped due to a fatal error. -
运行加上参数
--exitonfailure
, 失败在init步骤, 第一个test case失败message为Test execution stopped due to a fatal error. 且自动增加tagrobot-exit
, 后面失败的case会自动增加tagrobot-exit
, message 为Critical failure occurred and exit-on-failure mode is in use. -
失败在a.robot步骤,运行时没有加上参数
--exitonfailure
(有加上这个参数), 第一个test case失败message为AssertionError , 后面失败的case会自动增加tagrobot-exit
, message 为Test execution stopped due to a fatal error(加上参数后message变为 Critical failure occurred and exit-on-failure mode is in use)
-
网友评论