如果一个特定的测试用例失败,则停止整个测试套件
Stopping whole test suite if one specific test case failed
我试图阻止测试套件在特定测试用例失败后继续。
例如:
*** Test Cases ***
|Log In
| |Perform Valid Login
|Test A
| |Do A
|Test B
| |Do B
我需要停止测试套件仅当登录失败时。我在定义 "Perform Valid Login" 关键字时是否可以使用任何关键字,或者它是否需要从 "Suite Teardown" 完成(如果是的话如何)。
如果我 运行 关键字 "Run Keyword if Test Failed" 如果任何测试用例失败,它将停止测试套件。这意味着如果 "Test A" 出现问题,它将停止而不是继续 "Test B"。
谢谢。
您可以调用内置关键字Fatal Error 来暂停执行。来自文档:
Stops the whole test execution.
The test or suite where this keyword is used fails with the provided
message, and subsequent tests fail with a canned message. Possible
teardowns will nevertheless be executed.
你可以把它放在测试拆解中,只有在测试失败时才调用它:
*** Test Cases ***
| Log In
| | [Teardown] | Run keyword if test failed
| | ... | Fatal Error | Unable to log in
当然你也可以直接在关键字中调用Fatal Error
。您可以使用普通的 Run keyword if
语句代替 Run keyword if test failed
,并为其提供一些可以确定登录是否成功的测试。
一般来说,让测试依赖于其他测试被认为是糟糕的测试设计。任何给定的测试都不应该依赖于任何其他测试。例如,此设置将阻止开发人员 运行 仅 "Test B",因为 "Test B" 依赖于 "Log In" 首先 运行。
有时这是不可避免的,但如果这更像是一个设置步骤而不是实际的测试用例,您可能需要考虑将登录移动到套件设置中。如果套件设置失败,所有其他测试将立即失败,并显示一条消息,说明套件设置失败。
另一种选择是添加一个特殊关键字来断言您已正确登录。然后,您将其作为除登录测试之外的每个测试的测试设置关键字。每次测试 运行s 时,它会做的第一件事是检查它是否已登录,如果没有,可能会立即失败。
您似乎应该定义一个用于登录的套件设置。
那样的话,如果登录失败 - 整个套件都会失败。
或者 - 您还可以通过以下方式定义执行有效登录测试:
Login Test
Perform Valid Login
[teardown] Run Keyword If Test Failed Fatal Error
我试图阻止测试套件在特定测试用例失败后继续。
例如:
*** Test Cases ***
|Log In
| |Perform Valid Login
|Test A
| |Do A
|Test B
| |Do B
我需要停止测试套件仅当登录失败时。我在定义 "Perform Valid Login" 关键字时是否可以使用任何关键字,或者它是否需要从 "Suite Teardown" 完成(如果是的话如何)。
如果我 运行 关键字 "Run Keyword if Test Failed" 如果任何测试用例失败,它将停止测试套件。这意味着如果 "Test A" 出现问题,它将停止而不是继续 "Test B"。
谢谢。
您可以调用内置关键字Fatal Error 来暂停执行。来自文档:
Stops the whole test execution.
The test or suite where this keyword is used fails with the provided message, and subsequent tests fail with a canned message. Possible teardowns will nevertheless be executed.
你可以把它放在测试拆解中,只有在测试失败时才调用它:
*** Test Cases ***
| Log In
| | [Teardown] | Run keyword if test failed
| | ... | Fatal Error | Unable to log in
当然你也可以直接在关键字中调用Fatal Error
。您可以使用普通的 Run keyword if
语句代替 Run keyword if test failed
,并为其提供一些可以确定登录是否成功的测试。
一般来说,让测试依赖于其他测试被认为是糟糕的测试设计。任何给定的测试都不应该依赖于任何其他测试。例如,此设置将阻止开发人员 运行 仅 "Test B",因为 "Test B" 依赖于 "Log In" 首先 运行。
有时这是不可避免的,但如果这更像是一个设置步骤而不是实际的测试用例,您可能需要考虑将登录移动到套件设置中。如果套件设置失败,所有其他测试将立即失败,并显示一条消息,说明套件设置失败。
另一种选择是添加一个特殊关键字来断言您已正确登录。然后,您将其作为除登录测试之外的每个测试的测试设置关键字。每次测试 运行s 时,它会做的第一件事是检查它是否已登录,如果没有,可能会立即失败。
您似乎应该定义一个用于登录的套件设置。
那样的话,如果登录失败 - 整个套件都会失败。
或者 - 您还可以通过以下方式定义执行有效登录测试:
Login Test
Perform Valid Login
[teardown] Run Keyword If Test Failed Fatal Error