Question

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 for example:

[Documentation]  line1
...              line2
...              line3
Was it helpful?

Solution

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  

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top