有一个节点,我可以通过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