Robotframework for-loop机器人框架迭代中变量的增加值
我需要增加For循环中的Robotframework for-loop机器人框架迭代中变量的增加值,robotframework,Robotframework,我需要增加For循环中的${success\u num}测试用例变量: 但它始终为0,即使在我向其中添加1之后也是如此。就像每次迭代后都被重置一样。我怎样才能增加它的价值 *** Test Cases *** ... ... Set Test Variable ${success_num} ${0} App For Port ${actual_app} ... ... *** Keywords *** App For Port
${success\u num}
测试用例变量:
但它始终为0,即使在我向其中添加1之后也是如此。就像每次迭代后都被重置一样。我怎样才能增加它的价值
*** Test Cases ***
...
...
Set Test Variable ${success_num} ${0}
App For Port ${actual_app}
...
...
*** Keywords ***
App For Port [Arguments] ${app}
: FOR ${port_num} IN 1 2
\ ${PorF} ${message} Run Keyword And Ignore Error applicationcontrol.Launch application ${app} ${port_num}
\ Continue For Loop If '${PorF}'=='FALSE'
\ ${status} Run Keyword And Return Status Check launching status ${app} ${port_num}
\ Continue For Loop If '${status}'=='False'
\ Run Keyword If '${status}'=='True' Add Success
\ Exit For Loop
Add Success
${success_num} Set Variable ${success_num+1}
将关键字
添加成功
更改为:
Add Success
${temp} Evaluate ${success_num} + 1
Set Test Variable ${success_num} ${temp}
您不必调用关键字来增加成功次数:
App For Port [Arguments] ${app}
: FOR ${port_num} IN 1 2
\ ${PorF} ${message} Run Keyword And Ignore Error applicationcontrol.Launch application ${app} ${port_num}
\ Continue For Loop If '${PorF}'=='FALSE'
\ ${status} Run Keyword And Return Status Check launching status ${app} ${port_num}
\ Continue For Loop If '${status}'=='False'
\ ${success_num} = Run Keyword If ${status} Set Variable ${success_num}+1 ELSE Set Variable ${success_num}
\ ${temp} = Run Keyword If ${status} Evaluate ${success_num}+1 ELSE Evaluate ${success_num}
\ Set Test Variable ${success_num} ${temp}
\ Exit For Loop
我建议创建一个Python函数:
def Increment_Variable(p_num):
return int(p_num) + 1
并称之为
${counter}= Increment Variable ${counter}
这是行不通的。它显示的是
INFO${success\u num}=0+1
,但它始终是0I将您的代码更改为:Run关键字,如果${status}设置测试变量${success\u num}${success\u num}+1,则设置测试变量${success\u num}${success\u num}
,然后运行它。然后在第一次迭代中显示${success\u num}=0+1
,在第二次迭代中显示${success\u num}=0+1+1
。当我最终执行${fail\u num}=BuiltIn时。计算${total_num}-${success_num}
它给我7。这是ridiculous@henry哦,是的,我应该使用“evaluate”而不是“Set Variable”(如您在另一个答案中所示)。我相应地更新了我的答案。