我正在尝试获取Telnet.Execute Command
的远程登录连接位于SSH连接内部。
如果我尝试${saida}= SSHLibrary.Execute Command ls
可以得到ls
命令的输出,但是如果我尝试${saida}= SSHLibrary.Execute Command Telnet.Execute Command dir
可以得到dir
[在{ {1}}]命令已传递给Telnet.Execute Command
,但没有。
如何获取SSHLibrary.Execute Command
的输出?
Telnet.Execute Command
答案 0 :(得分:1)
从评论中:
我实现了在ssh连接中使用telnet,但是我想使用Telnet库
您不能这样做,有两个原因。
首先,Telnet库(我能想到的几乎所有RF库)都是为本地使用而设计的-当启动案例时,它在本地计算机和本地python解释器中实例化。您对其进行的所有调用(库)均在本地计算机上完成。
因此-它不会在通过ssh连接到的计算机上运行。
另一个原因是-Robot Framework不支持将“另一个关键字的返回值”作为参数传递;例如如果要执行此操作,则必须将另一个关键字的返回值存储在temp变量中,并将其传递给第一个关键字。
换句话说,在这一行:
SSHLibrary.Execute Command Telnet.Open Connection ${Other-Host}
,您实际上是在传递字符串“ Telnet.Open Connection”和值${Other-Host}
,您不是调用关键字Telnet.Open Connection
。