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

Robot Framework:能否直接将Python函数返回值作为关键字参数?

如何在Robot Framework中直接将Python函数返回值作为关键字参数?

当然可以,你只需要使用Robot Framework的内嵌表达式语法,把Python函数调用包裹在${}中,就能直接将返回值作为关键字的参数传递,完全不需要临时变量。

问题原因

你之前的写法之所以无效,是因为Robot把identifier和id=a当成了两个独立的字符串参数传给Log To Console,而没有执行这个Python函数并取其返回值。

正确实现方式

先保持你的data.py函数不变:

def identifier(id):
    data = {'a' : 'jerry', 'b' : 'kramer', 'c' : 'elaine'}
    return data[id]

然后修改Robot测试用例,用${}包裹函数调用:

*** Settings ***
Library             data.py

*** Test Cases ***
Implicit Call
    Log To Console   ${identifier(id=a)}

执行这个测试用例,控制台会直接输出jerry,完全符合你的需求。

通用用法

这个语法适用于所有Robot关键字,不管你要给哪个关键字传参数,只要把函数调用放在${}里就行。比如函数有多个参数时:

# 位置参数传值
Some Keyword    ${another_func("hello", 123)}
# 命名参数传值
Some Keyword    ${another_func(name="foo", value=456)}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 06:52:05