【发布时间】:2017-12-25 13:24:56
【问题描述】:
我是机器人框架的新手。谁能向我解释套件设置和测试设置之间的区别?什么时候使用?例子...
提前谢谢你。
【问题讨论】:
我是机器人框架的新手。谁能向我解释套件设置和测试设置之间的区别?什么时候使用?例子...
提前谢谢你。
【问题讨论】:
用最简单的术语来说,套件设置在套件开始时只运行一次。测试设置在测试用例开始时运行。
如果您在套件的设置部分定义测试设置,它将在套件中的每个测试开始时运行(即:如果您有 5 个测试,它将运行五次)。如果您在特定测试中定义它,它只会在定义它的那个测试中运行。
套件设置是进行一些初始化的好地方,例如启动服务器、打开浏览器、建立数据库连接等。
测试设置是执行某些特定于测试的工作的好地方,而这些工作实际上并不是验证的一部分。例如,您可以使用测试设置登录并导航到正在测试的页面。
【讨论】:
测试,是为验证某个功能而执行的一组操作。
套件,在同一测试文件中定义的一组测试,测试相同的功能。
测试功能意味着,您可能有某些先决条件,其中可能涉及设置测试功能的环境。所以这些前提条件可以有两种类型,一种可以为整个套件(所有测试)执行一次,其他的必须在每次测试之前执行。
套件设置,顾名思义,它是一个功能(操作集),需要在运行套件之前执行。
Test Setup,顾名思义,它是一个函数(一组操作),需要在每次测试之前执行。
例如
*** Settings ***
Suite Setup Setup feature environment
Test Setup my Test Setup
*** Keyworods ***
Setup feature environment
<set required environment variables>
<copy required files and folders>
<etc, etc .. >
my Test Setup
<clean up or release previous test resources>
<reset environment>
<etc, etc .. >
*** Test Cases ***
First test
< test steps>
Second test
< test steps>
Third test
< test steps>
所以在这里,当你运行整个文件(套件)时,所有 3 个测试都将被执行。 它们的执行顺序是:
设置功能环境 --> 我的测试设置 --> 第一个测试 --> 我的测试设置 --> 第二个测试 --> 我的测试设置 --> 第三个测试
希望对你有帮助!
【讨论】:
在测试用例文件中为测试用例指定设置或拆卸的最简单方法是使用设置表中的 :setting:Test Setup 和 :setting:Test Teardown 设置。
各个测试用例也可以有自己的设置或拆卸。它们是用测试用例表中的 :setting:[Setup] 或 :setting:[Teardown] 设置定义的,它们会覆盖可能的 :setting:Test Setup 和 :setting:Test Teardown 设置。在 :setting:[Setup] 或 :setting:[Teardown] 设置之后没有关键字意味着没有设置或拆卸。也可以使用值 NONE 来指示测试没有设置/拆卸。
* 设置 *
测试设置打开应用程序 App A
Test Teardown 关闭应用程序
* 测试用例 *
默认值
[Documentation] Setup and teardown from setting table
Do Something
覆盖设置
[Documentation] Own setup, teardown from setting table
[Setup] Open Application App B
Do Something
没有拆解
[Documentation] Default setup, no teardown at all
Do Something
[Teardown]
没有拆解 2
[Documentation] Setup and teardown can be disabled also with special value NONE
Do Something
[Teardown] NONE
使用变量
[Documentation] Setup and teardown specified using variables
[Setup] ${SETUP}
Do Something
[Teardown] ${TEARDOWN}
以上面Waman发布的例子
*** Settings ***
Suite Setup Setup feature environment
Test Setup my Test Setup
*** Keyworods ***
Setup feature environment
<set required environment variables>
<copy required files and folders>
<etc, etc .. >
my Test Setup
<clean up or release previous test resources>
<reset environment>
<etc, etc .. >
*** Test Cases ***
First test
< test steps>
Second test
[setup] Testcase specific setup
< test steps>
Third test
< test steps>
所以在这里,当你运行整个文件(套件)时,所有 3 个测试都将被执行。它们的执行顺序是:
设置功能环境 --> 我的测试设置 --> 第一个测试 --> 测试用例特定设置 --> 第二个测试 --> 我的测试设置 --> 第三个测试
第二个测试用例中的 [setup] 覆盖了 [Test Setup]。所以“我的测试设置”不会在第二个测试用例中执行
【讨论】: