2017-01-06 76 views
0

我有一個機器人測試表並且正在運行pybot。 robot/pybot調用一個python函數。我可以將測試編號傳遞給我的python函數嗎?將機器人框架的測試編號傳遞給python

我知道我可以通過在我的機器人測試表中添加一個數字來做到這一點,但是這樣做很痛苦,因爲它的格式很大。有另一種方法嗎?

。測試就像(較短的形式實際測試表,它太大粘貼)

================================================= 
Test Case   Action   Arguments 
================================================= 
Test connection mytest.setup  ${Bucket} 
Verify files  mytest.verify  ${filename} 
Search logs  mytest.searchlog ${string_to_search} 
================================================== 

所以,當我打電話mytest.searchlog()在python(mytest的是我的Python文件),如何我是否告訴它,這是第三個測試用例?

我與pybot運行它

pybot --variable Bucket:mybucket ..... testfile.rst 

回答

1

在我看來,你可以用一個計數器復位所有的測試案例,並將其存儲在測試用例變量範圍值實現這一點。

使用數據驅動的例子發現here我創建了以下示例,其中,測試案例具有[setup]部並將其爲每個數據記錄中的每個時間稱爲具有[teardown]部的關鍵字。儘管它也可以在關鍵字內處理。

*** Test Cases *** 
Calculation error  [Template] Calculation should fail 
         [setup] Set Test Variable  ${counter} 0 
         kekkonen  Invalid button 'k'. 
         ${EMPTY}  Invalid expression. 
         1/0   Division by zero. 
*** Keywords *** 
Calculation should fail 
    [Arguments] ${expression} ${expected} 
    ${error} = Should cause error C${expression}= 
    Should be equal ${expected} ${error} # Using `BuiltIn` keyword 
    [teardown] Counter 

Counter 
    ${countr}=  Get Variable Value ${counter} 
    ${countr}=  evaluate ${countr}+1 
    Set Test Variable ${counter} ${countr} 

變量可以在測試用例的範圍內調用,也包括在給定測試用例中調用的關鍵字。

+0

非常感謝! – Illusionist

相關問題