“执行命令”关键字无法在远程计算机上完成执行

时间:2015-06-29 08:31:03

标签: python-2.7 ssh robotframework

我正在尝试使用SSH库的“Execute Command”关键字在远程计算机上运行命令(Jar文件执行)。但是,即使在命令执行完成之前,控制也会返回。有没有办法等到命令执行?

以下是关键字:

Parent(HtmlPanelGrid) |-->Child-1(HtmlPanelGrid) |-->Child-1-1(Label/CommandButton) |-->Child-1-2(Label/CommandButton) |-->Child-2(HtmlPanelGrid) |-->Child-2-1(Label/CommandButton) |-->Child-2-2(Label/CommandButton)

3 个答案:

答案 0 :(得分:0)

使用读写,而不是使用"执行命令"这样你就可以为命令执行指定超时。

参考:http://robotframework.org/SSHLibrary/latest/SSHLibrary.html#Write

答案 1 :(得分:0)

您明确要求在后台运行命令(通过添加&作为要运行的命令中的最后一个字符),因此ssh库无法知道程序何时你正在运行退出。如果您想等待它完成,请不要在后台运行它。

换句话说,从正在运行的命令中删除尾随&

答案 2 :(得分:0)

如果有人还在讨论这个问题,我发现了解决方案

Open Connection    ${SSH_HOST}    timeout=10s
Login    login    pass
Write    your_command
Set Client Configuration    prompt=$    
${output}=    Read Until Prompt 
Should End With     ${output}    ~ $