robotframework技巧,让一个关键字自动识别所处 在测试架构中的位置

如何写一个关键字,让关键字自己判断是在  suitesetup testsetup test testteardown suiteteardown的哪个里面呢

有些场景,我们希望简化使用,在以上5个阶段,使用相同的关键字,关键字自行根据所在位置,执行不同的动作;减少写脚本时自行判断的工作量

例如一个统一得的关键字,叫做  ”执行“”:

在suite_setup自动调用 分支   执行_suite_setup

在suite_setup自动调用 分支    执行_suite_setup

 

自动化脚本简化为:多清爽

*** Settings ***
Suite Setup       执行
Suite Teardown    执行

test1
    执行

    [Teardown]    执行

 

 

以下是思考方式和实现:就是根据状态+各种suite和test的当前信息的组合来判断

目前test_setup和test执行过程,无法区分,有思路的有同学请告知

 ${测试套件信息状态_元组格式}=    Run Keyword And Ignore Error    log    ${SUITE_MESSAGE}
    ${测试用例信息状态_元组格式}=    Run Keyword And Ignore Error    log    ${TEST_MESSAGE}
    ${测试套件名字_元组格式}=    Run Keyword And Ignore Error    log    ${SUITE_NAME}
    ${测试用例名字_元组格式}=    Run Keyword And Ignore Error    log    ${TEST_NAME}
    Comment    ${测试用例状态_元组格式}=    Run Keyword And Ignore Error    log    ${TEST_STATUS}
    ${测试套件信息状态}=    Get From List    ${测试套件信息状态_元组格式}    0
    ${测试套件名字}=    Get From List    ${测试套件名字_元组格式}    0
    ${测试用例信息状态}=    Get From List    ${测试用例信息状态_元组格式}    0
    ${测试用例名字}=    Get From List    ${测试用例名字_元组格式}    0
    Comment    ${测试用例状态}=    Get From List    ${测试用例状态_元组格式}    0
    ${用例执行阶段}=    Set Variable    ${测试套件信息状态}${测试套件名字}${测试用例信息状态}${测试用例名字}
    Run Keyword And Return If    "${用例执行阶段}"=="FAILPASSFAILPASS"    test(setup&test)
    Run Keyword And Return If    "${用例执行阶段}"=="FAILPASSPASSPASS"    test_teardown   
    Run Keyword And Return If    "${用例执行阶段}"=="FAILPASSFAILFAIL"    suite_setup    
    Run Keyword And Return If    "${用例执行阶段}"=="PASSPASSFAILFAIL"    suite_teardown  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值