【发布时间】:2020-12-16 05:33:27
【问题描述】:
我有一台运行 Lubuntu 的“旧”笔记本电脑,我在上面运行 Robotframework 脚本,连接到树莓派(通过以太网电缆)。
笔记本电脑有 paramiko 2.7.1 和其他最新的 python 包(如果你想要特定包的版本,请告诉我)。
这些测试包括通过 SSH 打开、连接和执行命令。
在 robotsframework 测试脚本之外的 SSH 问题为零,并且 ssh 从来没有任何不稳定问题。
当我运行机器人脚本时,它会执行一些命令(使用Execute Command 关键字)并检查命令是否成功完成。
由于 SSHLibrary 异常 SSHLibrary Exception: Timeout opening tunnel,通常 8 个(甚至有时 4 个)测试中的一个或两个失败。
现在我已经设置了一个脚本,它会自动重新运行失败的测试用例,并且在 99% 的情况下,重新运行的测试用例都会通过。然而,我更愿意拥有稳定的测试用例。
【问题讨论】:
-
您当前的 SSH 超时时间是多少,增加多少您可以接受?
-
我尝试使用
Execute Command COMMAND timeout=10s,但似乎此超时仅用于关键字完成,而不是实际的 ssh 连接超时。现在超时可以是我测试的任何时间。我将如何设置实际的 ssh 超时? -
当您导入库
Library SSHLibrary 10 seconds时,您可以将其作为参数传递给库。您也可以在打开连接时设置它Open Connection 192.168.1.1 timeout=5 min。使用Set Client Configuration timeout=1 min即时进行。 -
超时有什么运气吗?
-
插入超时后我目前似乎没有问题。 - 我还没有看到 SSH 超时发生。但是,我确实经常使用
SSHException: No existing session得到一个失败的测试用例,但我认为这可能是由测试用例的设置方式引起的(它每运行 2/3 次就会发生一次)。我会让测试用例在一夜之间连续运行,并在此处返回结果。谢谢!
标签: ssh robotframework