robotframework-init.robot文件

rf中的初始化文件

  • `__init__.robot`文件的作用
  • 实例项目
    • 目录结构
    • 执行

__init__.robot文件的作用

  • __init__.robot文件中创建或者导入的变量和关键字不能在子测试套件中使用,如果需要共享变量或关键字,通过资源文件实现
  • __init__.robot文件和测试用例文件的设置类似,但不能有测试用例和部分设置项
  • 可包含的设置项
    Documentation, Metadata, Suite Setup, Suite Teardown:这些特定于测试套件的设置的工作方式与测试用例文件中的工作方式相同
    Force Tags,Test Setup, Test Teardown, Test Timeout:在此目录或子目录下包含的所有测试用例文件中都有效

实例项目

目录结构

test
│ t1.robot
__init__.robot
├─dir
│ t2.robot
__init__.robot

  • t1.robot中的内容
    只写了测试用例
*** Test Cases ***
test_init
    log         测试init_t1
  • __init__.robot中的内容
    设置了测试套件的setup和teardown,以及测试用例的setup和teardown,和强制标签(force tags)
*** Settings ***
Suite Setup       log    "init_suite_setup"
Suite Teardown    log    "init_suite_Teardown"
Test Setup        log    "init_test_setup"
Test Teardown     log    "init_test_teardown"
Force Tags        tag1
  • dir/t2.robot中的内容
    t1.robot只写了测试用例
*** Test Cases ***
test_init
   log         测试init_t2
  • dir/\_\_init__.robot中的内容
*** Settings ***
Suite Setup       log    "init_suite_setup2"
Suite Teardown    log    "init_suite_Teardown2"
Test Setup        log    "init_test_setup2"
Test Teardown     log    "init_test_teardown2"
Force Tags        tag2

执行

  • 执行robot .,输出结果如下
    t1.robot只获取了同级目录下的init文件中的设置
    t2.robt获取了上一级和同级目录下的init文件中的设置
20210312 00:05:30.283 :  INFO : "init_suite_setup"
20210312 00:05:30.290 :  INFO : "init_suite_setup2"  #根目录和dir目录下的__init__文件中的suite_setup均执行了
Starting test: Test Varfile.Dir.T2.test_init
20210312 00:05:30.295 :  INFO : "init_test_setup2" #只执行dir目录下__init__文件中的test_setup
20210312 00:05:30.295 :  INFO : 测试init_t2
20210312 00:05:30.296 :  INFO : "init_test_teardown2"
Ending test:   Test Varfile.Dir.T2.test_init

20210312 00:05:30.299 :  INFO : "init_suite_Teardown2"
Starting test: Test Varfile.T1.test_init
20210312 00:05:30.305 :  INFO : "init_test_setup"  #执行根目录下__init__文件中的test_setup
20210312 00:05:30.306 :  INFO : 测试init_t1
20210312 00:05:30.309 :  INFO : "init_test_teardown"
Ending test:   Test Varfile.T1.test_init

20210312 00:05:30.312 :  INFO : "init_suite_Teardown"
  • 执行robot -i tag2 .,输出结果
    因为只有t2.robot中的用例才有标签tag2,所以只执行了t2.robot
20210312 09:52:27.403 :  INFO : "init_suite_setup"
20210312 09:52:27.409 :  INFO : "init_suite_setup2"
Starting test: Test Varfile.Dir.T2.test_init
20210312 09:52:27.416 :  INFO : "init_test_setup2"
20210312 09:52:27.417 :  INFO : 测试init_t2   
20210312 09:52:27.417 :  INFO : "init_test_teardown2"
Ending test:   Test Varfile.Dir.T2.test_init    # 只有dir/t2.robot才有tag2标签,所以只执行了这个用例

20210312 09:52:27.420 :  INFO : "init_suite_Teardown2"
20210312 09:52:27.423 :  INFO : "init_suite_Teardown"

你可能感兴趣的:(robot,framework,学习笔记,软件测试,经验分享)