如何使用 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
可能是一个计数器,或一些字符串条件,或其他东西。
我需要"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
可能是一个计数器,或一些字符串条件,或其他东西。