【发布时间】:2017-02-13 21:08:04
【问题描述】:
我需要通过 SoapUI 工具在 unix 系统上执行 unix 命令/shell 脚本。 SoapUI 安装在 Windows 机器上。
- 如何通过 SoapUI 与 unix 机器建立 ssh 连接?
- 如何运行命令?
- 如何捕获此命令的输出?
【问题讨论】:
-
使用 jsch 库并为其编写代码。请检查此示例 - stackoverflow.com/questions/2405885/…
我需要通过 SoapUI 工具在 unix 系统上执行 unix 命令/shell 脚本。 SoapUI 安装在 Windows 机器上。
【问题讨论】:
您可以使用以下代码:
def process = 'ssh user@host myCommand'.execute()
process.waitFor()
println process.in.text
println process.err.text
您可以将其作为 testSuite 或 testCase setUp/tearDown 脚本、脚本测试步骤或任何其他可以执行 groovy 的地方执行。
如果可能的话,我建议使用密钥配置身份验证,这样在建立连接时就不会要求您输入密码。
您还可以在单个连接中执行多个命令:
def process = 'ssh user@host "myCommand1; myCommand2; myCommand3"'.execute()
我更喜欢使用 && 运算符仅在前一个成功完成的情况下执行命令,即:
ssh user@host "myCommand1 && myCommand2 && myCommand3"
【讨论】: