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

Robot Framework使用Evaluate遍历列表报EOL扫描字符串字面量错误如何解决

报错原因
  • 核心是Evaluate关键字的使用方式错误:你直接将带双引号的列表元素通过${变量}插值到表达式中,元素内部的双引号会被Python解析器识别为字符串边界,导致字符串提前截断,触发扫描字符串字面值时遇到行尾的语法错误。
  • 额外存在变量名不一致问题:你定义的预期列表变量名为expected_dataItem,但循环中使用的是${expectedValues_str},变量名不匹配也会导致取值失败。
最优解决方案

推荐直接使用Robot Framework原生列表操作关键字Get From List,完全规避Evaluate的语法坑,是操作列表元素的标准实现:

${length}    Get Length     ${expected_dataItem}    
FOR    ${index}    IN RANGE    ${length}
    ${expectedValue}    Get From List    ${expected_dataItem}    ${index}
    List Should Contain Value    ${container}    ${expectedValue}
END
备选方案(必须用Evaluate的场景)

如果一定要通过Evaluate取值,不要直接插值变量,使用$变量名的语法将Robot变量直接传入Python执行上下文,避免引号冲突:

${length}    Get Length     ${expected_dataItem}    
FOR    ${index}    IN RANGE    ${length}
    ${expectedValue}    Evaluate    $expected_dataItem[int($index)]
    List Should Contain Value    ${container}    ${expectedValue}
END

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:09:04