在 Robot 框架中评估多个 If 条件

Posted

技术标签:

【中文标题】在 Robot 框架中评估多个 If 条件【英文标题】:Evaluating multiple If conditions in Robot framework 【发布时间】:2018-01-13 19:06:47 【问题描述】:

我正在尝试在机器人框架中评估以下表达式

如果 '$buttondisplayed' == 'PASS' 和 '$ReturnedInfo' == 则运行关键字 'PASS',一些关键字,

else if, '$buttondisplayed' == 'PASS' 和 '$ReturnedInfo' == 'FAIL',一些关键字,

else if, '$buttondisplayed' == 'FAIL' and '$ReturnedInfo' == 'PASS', 一些关键字,

其他,一些关键字

其中 $buttondisplayed 和 $ReturnedInfo 的值 = FAIL。

基于上述条件,最后提到的其他部分应该执行但是在日志输出中我得到以下结果

文档: 如果条件为真,则使用给定的参数运行给定的关键字。 开始/结束/经过:20170806 11:15:14.448 / 20170806 11:15:14.448 / 00:00:00.000

所以这里基本上没有条件执行。 谁能指出这个表达式有什么问题?

【问题讨论】:

【参考方案1】:

您发布的代码至少有四个问题:

    在第一个“if”之后只有一个空格 “else if”是小写字母。必须全部大写 (ELSE IF) 您的代码中有逗号。机器人语法不支持逗号作为字段分隔符 您的代码似乎跨越了多行,但您没有使用机器人行继续符...

【讨论】:

感谢 Bryan 抽出宝贵时间,我根据您的建议进行了更改,现在效果很好。 谢谢。真的很有帮助,【参考方案2】:
Run Keyword If   '$buttondisplayed'=='PASS' and '$ReturnedInfo'=='PASS' Some Keyword
... ELSE IF  '$buttondisplayed'=='PASS' and '$ReturnedInfo'=='FAIL' Some Keyword
... ELSE IF  '$buttondisplayed'=='FAIL' and '$ReturnedInfo'=='PASS' Some Keyword
... ELSE Some Keyword

【讨论】:

以上是关于在 Robot 框架中评估多个 If 条件的主要内容,如果未能解决你的问题,请参考以下文章

Swift:SwiftUI 视图的多个条件的内联评估

如何在 freemarker 中评估 if 语句?

带有if条件的隐式布尔评估[重复]

如何在 Robot Framework 中编写 if 语句的多个条件

如果 IF 语句不满足第一个条件,它会停止评估吗?

VBA if语句