How to make multi-lines test setup or teardown in RobotFramework without creating new keyword?

前端 未结 2 647
长发绾君心
长发绾君心 2021-02-01 07:25

I need to call two teardown keywords in test case but must not create new keyword for that. I am interesting if there is a such syntax for keywords as for documentation or loops

相关标签:
2条回答
  • 2021-02-01 07:48

    Use the "Run Keywords" keyword.

    From doc "This keyword is mainly useful in setups and teardowns when they need to take care of multiple actions and creating a new higher level user keyword would be an overkill"

    Would look like that:

    Test Case
      [Teardown]  Run Keywords  Teardown 1  Teardown 2
    

    or also

    Test Case
      [Teardown]  Run Keywords  Teardown 1  
      ...                       Teardown 2 
    

    and with arguments

    Test Case
      [Teardown]  Run Keywords  Teardown 1  arg1  arg2
      ...         AND           Teardown 2  arg1  
    
    0 讨论(0)
  • 2021-02-01 08:04

    For executing multiple keywords in Test Teardown method use the following trick:

    Firstly, define a new keyword containing the set of keywords you want to execute.

    E.g. here Failed Case Handle is a new definition of the other two keywords take screenshot and close application. Consider this is to take a screenshot and then close the running application.

    *** Keywords ***
    Failed Case Handle
        take screenshot
        close application
    

    Basically, when you call the Failed Case Handle keyword, take screenshot and close application will be executed respectively.

    Then, in the ***Settings*** section define the Test Teardown procedure by the following example.

    *** Settings ***
    Test Teardown  run keyword if test failed  Failed Case Handle
    

    or,

    *** Settings ***
    Test Teardown  run keyword  Failed Case Handle
    

    So, in the first case Failed Case Handle keyword will be called if any test case fails. On the other-hand in the second case Failed Case Handle keyword will be called after each test cases.

    0 讨论(0)
提交回复
热议问题