我正在尝试使用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)
答案 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} ~ $