2014-04-10 66 views
0

有沒有一種方法可以顯式訪問機器人框架中同一類的多個對象。 我有一個功能的類遠程登錄到主機。 我想連接到兩個不同的主機並在這些主機上運行不同的命令。 在我的機器人測試用例文件,我有訪問機器人框架中的多個對象

myclass.Login To Host  | host1 | user | password 

myclass.Run Cmd   | ls 

myclass.Login To Host | host2 | user | password 

myclass.Run Cmd   | ls -l 

我看到運行CMD在這兩種情況下,第一主機(主機1)上執行。 有沒有一種方法可以調用特定對象上的函數 由於這是我的測試用例的一部分,因此我無法將它們分成兩個不同的測試用例。

如何在由host2的登錄到主機創建的對象上調用第二個「運行Cmd」?

感謝 鮑比

+0

你能分享一下你的課程的源代碼,所以它更容易回答你嗎? –

+0

這裏是我的Python代碼 – user3517560

+0

這裏是我的Python代碼 進口pxssh
進口Pexpect的 類測試(): 高清__init __(個體經營): self.conn =無 高清login_to_host(個體經營,主機,用戶名= '用戶',口令= '密碼'): '' 'SSH的框 ''' 打印 '登錄到%s' %主機 嘗試: S = pxssh.pxssh() s.login(主機,用戶名,密碼) self.conn = s 除pxssh.ExceptionPxssh,e: prin t「pxssh在登錄到%s時失敗。」 %主機 打印STR(E) 打印 '成功登錄到%s' 的%主機 返回小號 RUN_CMD(個體經營,CMD): \t self.conn.sendline(CMD) – user3517560

回答

1

是的,這是可能的。例如,Selenium2Library就是這樣做的。如果這是你的課,你可以做任何你想做的事。例如,讓你的登錄關鍵字返回一個標識符 - 或者讓測試用例提供一個。然後,您可以修改您的run關鍵字以接受此標識符以知道使用哪個連接。