首页 > 解决方案 > 运行关键字如果语法无效

问题描述

为什么以下 Robot 语句抱怨“转换为整数”关键字是无效语法?谢谢


Run Keyword If    Convert To Integer    ${packets_2}    <=    Convert To Integer    ${packets_1}
...    FAIL    ${\n}[FAILED] Packets 2 not greater than packets 1.
...    ${\n}packets_time1: ${packets_1}  ${\n}packets_time2: ${packets_2}

标签: robotframework

解决方案


您不能将关键字称为 的条件Run Keyword If。第一个参数应该是一个 python 表达式。由于您正在尝试对整数进行比较,因此您可以直接在表达式中执行此操作,如下所示:

Run keyword if  int('${packets_2}') <= int('${packets_1})
...  FAIL  \n[FAILED] Packets 2 not greater than packets 1

另一个问题是您提供了另外两个参数:${\n}packets_time1: ${packets_1}${\n}packets_time2: ${packets_2}. 目前尚不清楚你认为这些是为了什么。我猜你希望它们作为错误消息的一部分。如果是这种情况,它必须全部在一行上,否则机器人会认为它们是 FAIL 关键字的额外参数。

Run keyword if  int('${packets_2}') <= int('${packets_1})
...  FAIL  \n[FAILED] Packets 2 not greater than packets 1\n$packets_time1: ${packets_1}\npackets_time2: ${packets_2}

推荐阅读