Robotframework中各个级别的Setup和Teardown执行顺序以及范围
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Robotframework中各个级别的Setup和Teardown执行顺序以及范围
●suite级别的Setup\Teardown是不会被覆盖的,但test级别的Setup\Teardown会被覆盖●覆盖顺序是test case -> test suite -> Project/Directory
●当TestCase有自己的Setup或Teardown时,则会选择执行自己的,抛弃上级的
●当Test Suite和Test Case都没指定其Setup\Teardown时,就执行Project/Directory的●当某个TestCase没有Setup或Teardown,就执行上一级的;如果另一个Case有的话,
就执行自己对应的Setup或Teardown
情况1:Project/Directory、TestSuite、TestCase将所有Setup和Teardown都写上Log关键字结论:
●执行顺序
”Project”Suite Setup ->“Test Suite”Suite Setup ->“Test Case” Setup -> ...Test执行...
“Test Case” Teardown ->“Test Suite”Suite Teardown ->“Project”Suite Teardown ->
●范围
可以发现“顶层Test开始”\“顶层Test结束”\“套件Test开始”\“套件Test结束”这几个没有出现结果里面,
说明他们没有被执行,究其原因应该是被TestCase的Setup和Teardown给覆盖。
也就是说当TestCase有自己的Setup或Teardown时,则会选择执行自己的,抛弃上级的
Project
TestSuite
TestCase
接下来看看输出结果:
中Clear掉并增加1条case
结论:
●执行顺序
”Project”Suite Setup ->“Test Suite”Suite Setup ->“Test Suite” Test Setup -> ...Test执行...
“Test Suite” Test Teardown ->“Test Suite”Suite Teardown ->“Project”Suite Teardown ->
●范围
可以发现“顶层Test开始”\“顶层Test结束”仍然未出现在结果中,但是“套件Test开始”\“套件Test结束”出现了,且出现在每一个TestCase执行前、后
说明当某个TestCase没有Setup或Teardown,就执行上一级的;如果另一个Case有的话,就执行自己对应的Setup或Teardown
Test Case中Clear掉,并增加1条case
结论:
●执行顺序
”Project”Suite Setup ->“Test Suite”Suite Setup ->“Project” Test Setup -> ...Test执行... “Project” Test Teardown ->“Test Suite”Suite Teardown ->“Project”Suite Teardown ->
●范围
可以发现“顶层Test开始”\“顶层Test结束”出现在结果中了,并且每一个TestCase执行时都有出现,另外“顶层Suite开始”“顶层Suite结束”始终都出现,且只执行一次
说明当Test Suite和Test Case都没有指定其Setup\Teardown时,就会执行Project的;另外suite级别的Setup\Teardown是不会被覆盖的,但是test级别的Setup\Teardown 会被覆盖;覆盖顺序是test case -> test suite -> project。