2013-05-09 48 views
0

在機器人框架中,我可以在每個測試用例中使用for循環來啓動到列表中每個主機的SSH連接,然後在該主機上運行命令。在具有多個主機的機器人框架中設置SSH

但似乎ssh設置發生在每個測試用例需要相當長的時間。

是否有某種方法可以使連接對測試套件中的每個測試用例持續存在?

示例代碼:

*** Settings *** 
Variables  sys_variables.py 
Resource  ${RESOURCES}/common.robot 

*** Test Cases *** 
Ping   :FOR ${HOST}  IN @{REACHABLE} 
       \ SSH to ${HOST} ${USER} ${PASS} 
       \ ${result} = Run and Log ${PING_GOOGLE_DNS} 
       \ Should Be Equal As Integers ${result} 0 
       \ log ${result} 

這工作,但我想不必在每個測試用例運行它。

回答

3

只需將測試放在一個suite中,並在套件設置中進行連接。套件設置在實際測試執行之前執行一次。

考慮下面的示例代碼:

*** Settings *** 
Suite Setup  SuiteSetup 

*** Test Cases *** 
Test1 
    Log This is the test 1 

Test2 
    Log This is the Test 2 

*** Keywords *** 
SuiteSetup 
    Log This is the single setup 

把你的連接週期SuiteSetup關鍵字裏面,你就大功告成了。