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

Robot Framework 3.1.1如何将字符串作为代码执行?

问题解决:Robot Framework动态执行JSON中的关键字命令

错误原因分析

你当前的错误是误用了robot.run()函数——这个函数的作用是运行整个Robot测试套件,并非用来调用单个关键字。而且直接把Open Connection host1这类带空格的字符串传入robot.run(),Python会将空格分割的内容当成多个未定义变量,直接触发语法错误。

正确解决方案

Robot Framework内置了Run Keyword关键字,专门用来动态执行其他关键字,完全适配你的需求。

基础版(适用于参数无空格的场景)

修改代码如下:

${source_data}=    OperatingSystem.Get File    ${CURDIR}/auth.json
${data}=    Evaluate    json.loads($source_data)    json

: FOR    ${command}    IN    @{data["host1"]}
    \    Run Keyword    ${command}

Run Keyword会自动将字符串按空格拆分,把第一部分识别为关键字名,后面的内容作为关键字参数,完美匹配Robot的语法逻辑。

进阶版(适配参数带空格的场景)

如果命令参数里包含空格(比如主机名为test server 01),建议修改JSON结构,把每个命令拆成「关键字+参数」的列表形式,避免拆分错误:

{
   "host1" : [
       ["Open Connection", "test server 01"],
       ["Login", "test server 01", "admin", "123456"]
   ]
}

对应的Robot代码调整为:

${source_data}=    OperatingSystem.Get File    ${CURDIR}/auth.json
${data}=    Evaluate    json.loads($source_data)    json

: FOR    ${kw_info}    IN    @{data["host1"]}
    \    Run Keyword    @{kw_info}

这种方式更严谨,能处理各种复杂参数场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 21:42:20