【发布时间】:2019-03-26 17:33:21
【问题描述】:
我正在尝试在同一网络中的两个 IP 地址之间在 Robotframework 中执行一个简单的测试连接测试。我想要实现的是:
- 在一侧 执行命令 echo Hello | nc -l 51111
- 捕捉另一端的“Hello”消息: 执行命令'nc ip 51111'
,使用标准的 netcat 工具。
为此,我运行了 Test Script.robot:
Library Process
Library SSHLibrary
Suite Setup Open Connection And Log In
Suite Teardown Close All Connections
*** Variables ***
${HOST} ip.my.dev.vm
${USERNAME} user
${PASSWORD} password
${HOST_PDG} ip.server1
${HOST_IDPF} ip.server2
*** Test Cases ***
Step 1 Connect Server1 and send Hello to space
Open Connection And Log In Server1
${output}= Execute Command 'echo Hello | nc -l 51111'
Should Not Be Equal ${output} Hello
Step 2 Connect to Server2 and retrieve Hello
Open Connection And Log In Server2
${output}= Execute Command 'nc ip.server2 51111'
Should Be Equal ${output} Hello
*** Keywords ***
Open Connection And Log In
Open Connection ${HOST}
Login ${USERNAME} ${PASSWORD}
Open Connection And Log In Server1
Open Connection ${HOST_PDG}
Login ${USERNAME} ${PASSWORD}
Open Connection And Log In Server2
Open Connection ${HOST_IDPF}
Login ${USERNAME} ${PASSWORD}
此脚本在第一个通过的测试步骤后停止,并且从 Server2 中我永远无法捕获此 Hello 消息。
使用 nc 工具在命令行上进行的相同测试完美运行。
- ssh 服务器1
- 回声你好| nc -l 51111
- ssh 服务器2
- nc ip.server2 51111 (见 Hello 消息)
在 ROBOT 框架上做这件事有什么问题?
提前谢谢你!
【问题讨论】:
标签: frameworks robotframework netcat