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

Python调用Robot Framework run_keyword传递字典命名参数异常求助

问题根因

BuiltIn().run_keyword 方法的参数规则为:第一个参数是要调用的关键字名称,后续可变位置参数*args会按顺序传递给目标关键字作为位置入参,命名参数需要通过Python的**kwargs语法传递。
你原来的写法将整个args字典作为单个位置参数传给目标关键字,因此Test KW的第一个参数arg1收到了完整的参数字典,第二个参数arg2无入参为默认空值。

修复代码

修改importresource.py中run_keyword的调用行即可实现需求:

# 原错误写法:BuiltIn().run_keyword('Test KW',args)
# 修复后写法:对参数字典做**解包,自动映射为目标关键字的命名参数
BuiltIn().run_keyword('Test KW', **args)
补充问题修正

你提供的Test KW关键字实现中,循环逻辑里用到的${args}字典未提前初始化,运行会抛出变量不存在的错误,需要在关键字开头补充初始化逻辑:

*** Keywords ***
Test KW
    [Arguments]    ${arg1}=     ${arg2}=
    ${args}    Create Dictionary    # 新增字典初始化行
    ${newvr}=  set variable   ${arg1}
    ${type value}=    Evaluate     type($arg1)
    Log To Console     ${type value}
    Log to console    ${arg2}
    :FOR    ${key}    IN    @{arg1.keys()}
    \    Set To Dictionary    ${args}
    ...    ${key}=${arg1["${key}"]}

内容的提问来源于stack exchange,提问作者Antony Gladson R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 09:45:03