机器人框架:运行 整个测试套件的设置
Robot framework: run setup for an entire test suite
是否可以在 ROBOT 中 运行 设置整个测试套件,而不是 运行 为每个文件单独设置?我想 运行 在套件的开头设置,如果设置失败,则根本不会 运行 任何测试用例。
例如,给定以下文件:
*** Settings ***
Test Setup Setup Fails
*** Test Cases ***
Case1
Should Be True 1<2
Case2
Should Be True 2<1
*** Keywords ***
Setup Fails
Should Be True 2<1
我根本不想执行 Case1 和 Case2。事实上,两者都尝试单独使用安装失败作为安装,并且 output.xml
文件的每个测试用例的状态为 FAIL,并带有一条消息 "Setup failed..."。相反,我希望 xml 文件具有 'FAIL' 套件的状态和 "Setup failed..." 的消息,并且测试用例要么不包括在内,要么表明它们没有运行.
这是ROBOT支持的吗?
相反,我希望收到一条错误消息
机器人支持 suite setups。例如:
*** Settings ***
Suite Setup Setup Fails
*** Test Cases ***
Case1
Should Be True 1<2
Case2
Should Be True 2<1
*** Keywords ***
Setup Fails
fail Danger Will Robinson!
以上结果如下:
==============================================================================
Example
==============================================================================
Case1 | FAIL |
Parent suite setup failed:
Danger Will Robinson!
------------------------------------------------------------------------------
Case2 | FAIL |
Parent suite setup failed:
Danger Will Robinson!
------------------------------------------------------------------------------
Example | FAIL |
Suite setup failed:
Danger Will Robinson!
2 critical tests, 0 passed, 2 failed
2 tests total, 0 passed, 2 failed
==============================================================================
您需要在文件夹中定义一个名为__init__.robot的文件。
该文件应包含套件设置,并且它将 运行 在该文件夹中的任何其他文件之前。
您还可以嵌套这些文件。如果您有以下文件夹:
A-
-B
-C
然后您将 __init__.robot 文件放在文件夹 A 中,它的套件设置将 运行(一次)在文件夹 B 和 C 中的任何测试或任何初始化之前。
请注意,同样的技巧也适用于拆解 - 只是反过来。
您可以使用[标签]功能
*** Settings ***
Suite Setup Setup Fails
*** Test Cases ***
Case1
[Tags] wip
Should Be True 1<2
Case2
[Tags] wip
Should Be True 2<1
*** Keywords ***
Setup Fails
fail Danger Will Robinson!
然后当你 运行 你的机器人时,你可以使用 include (-i) 和 exclude (-e) 参数到 运行 或者不 运行 任何你想要的标签。
所以你的脚本参数看起来像这样
-i run -e wip --outputdir <log dir> <robot dir>
你也可以在 include/exclude 中有多个标签,像这样
-i run -e wipORbug etc...
您还可以在测试套件的设置中放置强制标签,将这些标签应用于每个单独的测试用例,如果您有多个测试套件并且只想测试一个,这会很方便。
如果您有多个文件 运行ning 测试套件,您可以使用 init.robot 文件,其中包含套件设置和套件拆解关键字。
是否可以在 ROBOT 中 运行 设置整个测试套件,而不是 运行 为每个文件单独设置?我想 运行 在套件的开头设置,如果设置失败,则根本不会 运行 任何测试用例。
例如,给定以下文件:
*** Settings ***
Test Setup Setup Fails
*** Test Cases ***
Case1
Should Be True 1<2
Case2
Should Be True 2<1
*** Keywords ***
Setup Fails
Should Be True 2<1
我根本不想执行 Case1 和 Case2。事实上,两者都尝试单独使用安装失败作为安装,并且 output.xml
文件的每个测试用例的状态为 FAIL,并带有一条消息 "Setup failed..."。相反,我希望 xml 文件具有 'FAIL' 套件的状态和 "Setup failed..." 的消息,并且测试用例要么不包括在内,要么表明它们没有运行.
这是ROBOT支持的吗?
相反,我希望收到一条错误消息
机器人支持 suite setups。例如:
*** Settings ***
Suite Setup Setup Fails
*** Test Cases ***
Case1
Should Be True 1<2
Case2
Should Be True 2<1
*** Keywords ***
Setup Fails
fail Danger Will Robinson!
以上结果如下:
==============================================================================
Example
==============================================================================
Case1 | FAIL |
Parent suite setup failed:
Danger Will Robinson!
------------------------------------------------------------------------------
Case2 | FAIL |
Parent suite setup failed:
Danger Will Robinson!
------------------------------------------------------------------------------
Example | FAIL |
Suite setup failed:
Danger Will Robinson!
2 critical tests, 0 passed, 2 failed
2 tests total, 0 passed, 2 failed
==============================================================================
您需要在文件夹中定义一个名为__init__.robot的文件。
该文件应包含套件设置,并且它将 运行 在该文件夹中的任何其他文件之前。
您还可以嵌套这些文件。如果您有以下文件夹:
A- -B -C
然后您将 __init__.robot 文件放在文件夹 A 中,它的套件设置将 运行(一次)在文件夹 B 和 C 中的任何测试或任何初始化之前。
请注意,同样的技巧也适用于拆解 - 只是反过来。
您可以使用[标签]功能
*** Settings ***
Suite Setup Setup Fails
*** Test Cases ***
Case1
[Tags] wip
Should Be True 1<2
Case2
[Tags] wip
Should Be True 2<1
*** Keywords ***
Setup Fails
fail Danger Will Robinson!
然后当你 运行 你的机器人时,你可以使用 include (-i) 和 exclude (-e) 参数到 运行 或者不 运行 任何你想要的标签。 所以你的脚本参数看起来像这样
-i run -e wip --outputdir <log dir> <robot dir>
你也可以在 include/exclude 中有多个标签,像这样
-i run -e wipORbug etc...
您还可以在测试套件的设置中放置强制标签,将这些标签应用于每个单独的测试用例,如果您有多个测试套件并且只想测试一个,这会很方便。
如果您有多个文件 运行ning 测试套件,您可以使用 init.robot 文件,其中包含套件设置和套件拆解关键字。