0

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

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

4

1 回答 1

3

只需将测试放在一个套件中并在套件设置中建立连接。套件设置在实际测试执行之前执行一次。

考虑以下示例代码:

*** 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关键字中,您就完成了。

于 2013-05-10T20:59:39.737 回答