从RobotFramework中的关键字获取返回变量通常很容易,只需在关键字中输入一个返回值,然后在变量后面运行关键字来存储返回值。
当我想有条件地运行该关键字时,我遇到了问题。 Run Keyword If
和Run Keyword Unless
关键字以及Wait Until Keyword Succeeds
关键字都需要将关键字作为第一个参数,如果第一个参数是变量,则会抛出错误。
目前我正在通过在关键字中设置套件级别变量来解决这个问题,我知道我将有条件地运行,但这感觉很糟糕。更糟糕的是,我必须重构任何在最初设计时作为条件关键字不需要的关键字。当然,我可能永远不会使用返回变量,并且总是设置套件级变量,但这只会让我觉得很脏。
我还没有找到一个干净的方法来做到这一点。它有效,但我希望其他人找到更好的方法。
答案 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