如何使用 Robot Framework 完成无限任务?

How to do some infinite task with Robot Framework?

我需要"enable and disable the firewall"持续使用机器人框架。

我为此编写了以下机器人测试用例:

testcase1
    Open Connection                         1.1.1.1
    Login                                   test    test
    Write                                   firewall enable
    Write                                   commit
    Write                                   firewall disable
    Write                                   commit  

上面的测试用例按预期执行了任务,但只执行了一次。但我想连续(无限)这样做。

有什么线索吗?在此先感谢您的帮助。

你可以把它放在一个 for 循环中。它不是无限的,但如果你输入足够大的值,它就足够接近实际用途了。这将创建一个巨大的日志文件。

testcase1
    :FOR    ${index}    IN RANGE    999999
    \    Open Connection    ${TEST}
    \    Rest of code

http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#for-loops

为了运行真正的无限循环你可以这样做: 创建 python 文件 lib.py:

from robot.libraries.BuiltIn import BuiltIn

def call_keyword(keyword):
    return BuiltIn().run_keyword(keyword)
    
def run_endless_loop(f):
    while True:
        call_keyword(f)
            

然后在你的机器人文件中你可以这样做:

*** Settings ***
Library  lib.py

*** Keywords ***
My keyword
    Log To Console  Hello World

*** Test Cases ***
Run endless loop
    Run Endless Loop  My keyword

这将运行死循环。剩下的唯一问题是如何打破循环,如果 needed.To 通过机器人文件中的条件打破循环,你可以实现类似的东西:

def run_endless_loop(f):
    while True:
        i = call_keyword(f)
        if i == 100:
            break

可能是一个计数器,或一些字符串条件,或其他东西。