2016-12-06 59 views
4

我需要增加${success_num} For循環中的測試用例變量: 但是它總是0,即使在我給它加1之後。就好像它在每次迭代後都被重置。我怎樣才能提高它的價值?for循環機器人框架迭代中增加變量的值

*** 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} 

回答

1

更改關鍵字Add Success到:

Add Success 
    ${temp} Evaluate ${success_num} + 1 
    Set Test Variable ${success_num} ${temp} 
2

你不必調用關鍵字,增加success_num:

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 
+0

這是行不通的。它顯示'INFO \t $ {success_num} = 0 + 1',但它總是0 – Henry

+0

我將你的代碼改爲:運行關鍵字如果$ {status}設置測試變量$ {success_num} $ {success_num} +1 ELSE設置測試變量$ {success_num} $ {success_num}'並運行它。那麼它在第一次迭代中顯示'$ {success_num} = 0 + 1',在第二次迭代中顯示'$ {success_num} = 0 + 1 + 1'。當我最終做'$ {fail_num} = BuiltIn。評估$ {total_num} - $ {success_num}'它給了我7.這是荒謬的 – Henry

+0

@henry哦是的,我應該使用「評估」,而不是「設置變量」(如你在其他答案中顯示)。我相應地更新了我的答案。 –