RobotFramework:使用'运行关键字{if,除非}'获取返回值

时间:2015-02-27 16:31:23

标签: robotframework

从RobotFramework中的关键字获取返回变量通常很容易,只需在关键字中输入一个返回值,然后在变量后面运行关键字来存储返回值。

当我想有条件地运行该关键字时,我遇到了问题。 Run Keyword IfRun Keyword Unless关键字以及Wait Until Keyword Succeeds关键字都需要将关键字作为第一个参数,如果第一个参数是变量,则会抛出错误。

目前我正在通过在关键字中设置套件级别变量来解决这个问题,我知道我将有条件地运行,但这感觉很糟糕。更糟糕的是,我必须重构任何在最初设计时作为条件关键字不需要的关键字。当然,我可能永远不会使用返回变量,并且总是设置套件级变量,但这只会让我觉得很脏。

我还没有找到一个干净的方法来做到这一点。它有效,但我希望其他人找到更好的方法。

1 个答案:

答案 0 :(得分:6)

您提到的那些关键字会返回它们运行的​​关键字的值,因此您可以像往常一样捕获返回结果。

例如:

*** Test Cases ***
| Example
| | ${foo}= | Set variable | true
| | ${bar}= | Run keyword if | "${foo}" == "true" 
| | ... | set variable | this is bar
| | Should be equal | ${bar} | this is bar