分支


分支

通常,建议不要在测试用例甚至用户关键字中都使用条件逻辑,因为这会使它们难以理解和维护。

相反,这种逻辑应该放在测试库中,在这里可以使用自然的编程语言构造来实现。

但是,某些条件逻辑有时可能会有用,即使Robot Framework没有实际的if / else结构,也有几种方法可以达到相同的效果。

  • BuiltIn关键字Run Keyword采用关键字作为参数来实际执行,因此可以是变量。例如,可以从较早的关键字动态获取变量的值,也可以从命令行给出变量的值。

  • BuiltIn关键字Run Keyword IfRun Keyword Unless 仅在某个表达式为truefalse时才分别执行命名关键字。它们非常适合创建简单的if / else构造。

实例

*** Settings ***
Suite Teardown    Run Keyword If All Tests Passed    Log     all test pass

*** Variables ***
@{newList}    item    
${age}    20
*** Keywords ***
My Log
    Log    ${newList}[5]

*** Test Cases ***
case01
    Run Keyword    Log    hello
case02
    Run Keyword And Continue On Failure    My Log   
    Log    continue
case03
    Run Keyword If    ${age}==${20}    Log    age is 20
case04
    [Teardown]    Run Keyword If Test Passed    Log    case04 pass
    Log    case02