在具有多个主机的机器人框架中设置SSH

时间:2013-05-09 22:39:15

标签: robotframework

在机器人框架中,我可以在每个测试用例中使用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}

这很有效,但我不想在每个测试用例中都运行它。

1 个答案:

答案 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 关键字中,然后就完成了。