在机器人框架中,我可以在每个测试用例中使用for循环来启动到列表中每个主机的SSH连接,然后在该主机上运行命令。
但似乎ssh设置发生在每个需要相当长时间的测试用例中。
我是否可以通过某种方式为测试套件中的每个测试用例保持连接?
示例代码:
*** Settings ***
Variables sys_variables.py
Resource ${RESOURCES}/common.robot
*** Test Cases ***
Ping :FOR ${HOST} IN @{REACHABLE}
\ SSH to ${HOST} ${USER} ${PASS}
\ ${result} = Run and Log ${PING_GOOGLE_DNS}
\ Should Be Equal As Integers ${result} 0
\ log ${result}
这很有效,但我不想在每个测试用例中都运行它。
答案 0 :(得分:3)
只需将测试放在一个suite中,然后在套件设置中建立连接。在实际测试执行之前,套件设置执行一次。
请考虑以下示例代码:
*** Settings ***
Suite Setup SuiteSetup
*** Test Cases ***
Test1
Log This is the test 1
Test2
Log This is the Test 2
*** Keywords ***
SuiteSetup
Log This is the single setup
将您的连接周期放在 SuiteSetup 关键字中,然后就完成了。