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

时间:2016-01-28 08:30:03

标签: 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}' == '1'    Exit For Loop
    \    Setup Groups Delete Group    ${group}
    \    ${N_groups}=    ${N_groups}-1

我收到错误:

No keyword with name '${N_groups}-1' found.

我在这里做错了什么?

3 个答案:

答案 0 :(得分:10)

尝试将其放入var名称中。即。

${N_groups-1}

答案 1 :(得分:4)

如果变量已经是数字,您可以使用:

${N_groups}= ${N_groups-1}

要执行此操作,您需要将其强制转换为数字(否则您会收到错误failed: TypeError: coercing to Unicode: need string or buffer, int found),例如

*** Variables *** ${N_groups}= ${0} # ${} notation coerces value to a number

或者,你可以像这样使用Evaluate,无论$ {N_groups}是否被强制转换为数字,这都有效:

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

答案 2 :(得分:0)

试试这个:

${decrement_counter}=  set variable   1

-- 在循环内

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

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