如何在robotframework中将可选列表参数添加到关键字中?

如何在robotframework中将可选列表参数添加到关键字中?,robotframework,Robotframework,我正在尝试将可选字典和列表添加到我的关键字中,如何分配它们的默认值?在中,您可以找到如何使用默认值添加参数的示例。简言之,在变量后面必须添加=和默认值。以下是一个例子: One Required And One With Default [Arguments] ${required} ${optional}=default [Documentation] This keyword takes 1-2 arguments Log Required: ${required}

我正在尝试将可选字典和列表添加到我的关键字中,如何分配它们的默认值?

在中,您可以找到如何使用默认值添加参数的示例。简言之,在变量后面必须添加=和默认值。以下是一个例子:

One Required And One With Default
[Arguments]    ${required}    ${optional}=default
[Documentation]    This keyword takes 1-2 arguments
Log    Required: ${required}
Log    Optional: ${optional}

虽然另一个答案正确地涵盖了带有失败值的关键字参数,但您的问题是针对默认列表参数

Robot框架语法不允许这样做,在python中,将默认值作为预定义列表会带来很多麻烦和隐藏的bug:。因此,解决方法是使用一个默认值为None的参数,实际上调用方不传递的任何东西都可以,并检查它是否在调用中设置;如果没有-将其分配到默认列表,在关键字内:

My Keyword That Accepts Optional List
    [Arguments]    ${the_list}=${None}

    ${the default value}=    Create List   member0    the other one
    ${the_list}=    Set Variable If    $the_list is None    ${the default value}    # no argument passed when the keyword was called
                            ...        ${the_list}    # an argument was passed, leave the variable as it was

您能解释一下您尝试了什么以及看到了什么错误吗?您是用robot、python还是其他语言编写这个关键字的?如果你能提供一份能向我们展示你所做尝试的报告,那会有所帮助。