有一個節點,我可以通過Robot Framework(SSHLibrary.Start Command或Execute Command)遠程啓動並啓動一個腳本。此遠程腳本啓動到另一個從外部隱藏的節點的telnet連接。這個telnet調用似乎是對機器人的阻塞事件。我使用RIDE執行測試,並停止工作。我可以低效地發送停止信號。是否有可能在ssh中產生telnet?有沒有辦法在Robot Framework的ssh連接中使用telnet?
回答
我們確實沒有使用該方法通過telnet,但與其他SSH會話或者說我們不能以其他方式訪問其他炮彈...
打開一個SSH連接到第一機器。 在此連接上,使用SSHLibrary關鍵字,如設置提示,寫入和讀取或讀取直到提示以手動打開到下一臺計算機的Telnet連接。 寫和讀關鍵字可以使用有點像期待和產卵...
一切是可能的。
讓我們描述一下你的場景:機器人框架在機器A上運行。測試將A連接到機器B,通過ssh和B通過telnet連接到機器C.
從你的問題不清楚測試卡在哪一步。測試是否確實建立了telnet連接? telnet進程實際上是從B啓動的嗎?
在這裏你應該考慮兩個相關的問題。
第一個是Robot Framework在單線程中執行測試。這意味着在關鍵字返回之前,測試確實執行了而非進度。如果要在測試繼續時打開telnet會話,則必須使用SSHLibrary.start命令而不是執行命令。
第二點是控制編程式的遠程登錄會話。 telnet客戶端必須支持某種批處理執行(例如不要求輸入密碼或刷新輸入)。確保你能夠從測試中在C上發出命令。您應該可以使用寫入關鍵字來重定向C的命令。您可以通過從其標準輸入中搜索命令文件來檢查telnet客戶端的工作情況。像
cat commands_for_c.txt | telnet ...to..c...
您對我的場景的描述是正確的。早些時候,我嘗試使用Start Command和Execute Command啓動telnet。然後看起來好像連接沒有建立。現在我只使用Write,並從telnet獲取提示,但Robot似乎忘記了我的提示預設或其他內容。看到我對sdmythos_gr的回答的其他評論。 – Milo 2013-05-02 08:37:19
帶管道的貓可能是一個很好的方式去做這件事......如果我沒有弄錯,設置的提示功能已經在最新的sshlibrary中發生了變化,並且可能有一種情況是每個連接只設置一次。在測試中,我們使用以前版本的ssh庫之一(我認爲0.9),所以在任何寫入命令之前,我們設置了預期的提示。即設置提示密碼:然後寫入密碼。然後設置提示符>然後寫命令... – 2013-05-02 09:14:45
我看了一下SSH庫的更改日誌。根據我的理解,這表示過去全局設置的提示(並且可以根據需要多次更改)以及所有連接都使用該提示,但現在每個連接都可以有自己的提示。 – Milo 2013-05-02 12:04:24
- 1. 有沒有辦法檢測連接的套接字是否使用telnet?
- 2. 有沒有辦法在Visual Studio 2013中擁有Robot Framework的編輯器?
- 3. 有沒有辦法在VBA中連接?
- 4. 有沒有辦法「收聽」到Telnet流?
- 5. SSH通過Telnet連接
- 6. Perl ssh連接並執行telnet連接
- 7. 有沒有辦法用qpython ssh?
- 8. 有沒有辦法在iOS中使用Photos Framework鎖定照片?
- 9. 有沒有辦法使用TransactionScope與現有的連接?
- 10. 有沒有辦法將我當前的SSH連接用於SCP傳輸?
- 11. 有沒有辦法在Android上使用PPPoE連接Wifi?
- 12. 有沒有辦法從MySQL連接Oracle
- 13. 有沒有辦法連接NSToolbarButton與MainViewController?
- 14. 有沒有辦法將WebElement傳遞給Robot中的javascript?
- 15. 有沒有辦法從野蠅連接池中獲得連接?
- 16. 無法在Robot Framework中使用Selenium2Library。 ImportError:沒有名爲Selenium2Library的模塊錯誤
- 17. Robot Framework沒有看到Groovy關鍵字
- 18. 有沒有辦法在Qt中檢查重複的連接?
- 19. 有沒有辦法在.NET Framework 2中使用C#應用程序中的linq?
- 20. 有沒有辦法使用System.Transactions連接池?
- 21. 有沒有辦法強制jdbc連接使用TCP?
- 22. 有沒有辦法重置池中的所有ColdFusion連接?
- 23. 在Robot Framework中實現有序字典
- 24. 有沒有辦法在Android中自動連接Sphero
- 25. 有沒有辦法在Python中返回字符串連接?
- 26. 有沒有辦法在cakephp中關閉mysql連接?
- 27. 有沒有辦法在html屬性中連接字符串?
- 28. 有沒有辦法在EJB中創建單向連接?
- 29. 有沒有辦法在oracle中執行多個左外連接?
- 30. 有沒有辦法在DSN中設置ODBC連接選項?
寫和讀直到提示組合似乎工作。以前我試圖用Start Command和Execute Command啓動telnet而沒有成功。現在我從telnet得到提示,但是我不能再發送任何命令。但是,我正確設置了提示,測試失敗並顯示「未找到匹配項」/這裏有一個換行符/'在3秒鐘內「。我無能爲力。 – Milo 2013-05-02 08:33:52