You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Robot Framework FOR循环已加END仍报缺少闭合END错误

问题描述

使用Robot Framework编写自动化测试脚本时遇到异常:已为FOR循环添加闭合END标识,但运行时仍提示FOR loop must have closing END错误。其中第一个测试用例somefunc1运行符合预期,第二个测试用例Create List and Loop执行抛出上述错误。

原始测试脚本:

*** Settings ***
Library          SeleniumLibrary                          # importing selenium library



*** Variables ***
@{ROBOTS}=    Bender    Johnny5    Terminator    Robocop

*** Test Cases ***
somefunc1
    FOR                 ${i}         IN RANGE         999999
    Exit For Loop If    ${i} == 9
    Log                 ${i}
    Log To Console      ${i}         stream=STDOUT    no_newline=False
    END
    Log                 Exited

Create List and Loop

    FOR    ${robot}    IN    @{ROBOTS}
    Log    ${robot}
    End
实际运行输出
somefunc1                                                             0
1
2
3
4
5
6
7
8
somefunc1                                                             | PASS |
------------------------------------------------------------------------------
Create List and Loop                                                  | FAIL |
FOR loop must have closing END.
故障原因

Robot Framework 中FOR/IF/WHILE等结构化语法块的闭合关键字END必须使用全大写形式,大小写混合、全小写的写法都不会被解析器识别为块结束标记,只会被当成普通关键字处理。

对比两个测试用例的写法:

  • 正常运行的somefunc1中,FOR循环闭合使用的是全大写END,符合语法要求
  • 报错的Create List and Loop中,FOR循环闭合写的是首字母大写的End,解析器无法识别这是块结束标记,因此判定FOR循环缺少闭合END,抛出错误
修复方案

将第二个FOR循环末尾的End修改为全大写的END即可,修正后的对应代码段如下:

Create List and Loop
    FOR    ${robot}    IN    @{ROBOTS}
    Log    ${robot}
    END

内容的提问来源于stack exchange,提问作者Momba Chomba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 14:54:23