Variables 减少或增加机器人框架中的变量

Variables 减少或增加机器人框架中的变量,variables,robotframework,Variables,Robotframework,我只想减少最后一行中的变量N_groups。 这是我的机器人文件: Preconditions - Delete Groups But Not First ${N_groups} Setup Groups Count Groups Log to console N_groups: ${N_groups} : FOR ${INDEX} IN RANGE 1 20 \ Run Keyword If '${N_groups

我只想减少最后一行中的变量N_groups。 这是我的机器人文件:

Preconditions - Delete Groups But Not First
    ${N_groups}    Setup Groups Count Groups
    Log to console    N_groups: ${N_groups}
    : FOR    ${INDEX}    IN RANGE    1    20
    \    Run Keyword If    '${N_groups}' == '1'    Exit For Loop
    \    Setup Groups Delete Group    ${group}
    \    ${N_groups}=    ${N_groups}-1
我得到一个错误:

未找到名为“${N\u groups}-1”的关键字。


这里我做错了什么?

试着把它放在var名称中。i、 e

${N_groups-1}

如果变量已经是一个数字,则可以使用:

${N_groups}=${N_groups-1}

要做到这一点,您需要将其强制为一个数字(否则您将得到一个错误,提示
失败:TypeError:强制为Unicode:需要字符串或缓冲区,int found
),例如

***变量***
${N_groups}=${0}#${}符号将值强制为数字

或者,您可以像这样使用
Evaluate
,无论${N_groups}是否被强制为一个数字,它都可以工作:

${N_groups}=Evaluate${N_groups}-1

尝试以下方法:

${decrement_counter}=  set variable   1
--圈内

${N_groups}=   Evaluate    ${N_groups} - ${decrement_counter}

注意-减法符号前后只有一个空格。

这不是直观的。是的,我记得几个月前遇到了完全相同的绊脚石,来自开发阶段。它只是感觉不对,就像我使用了一个完全不同的变量,而不是更改变量的值。但我想语法是正确的syntax@kame:这不是直观的,但它是一个记录在案的功能: