如何使用 robotframework 将参数传递给测试用例中的关键字?

How to pass arguments to keywords from testcase using robotframework?

我想将参数从测试用例传递到关键字。

我想做什么? 我有带有如下参数的测试用例

*** Test Cases ***
Test something happens
    Login
    ${val2} =  somevalue1
    ${val2} =  somevalue2
    ${name} =  somename
    Draw something  ${name}  ${val1}  ${val2}

*******keywords************
Draw something 
    Input Text    ${name_input}    ${name}
    Input Text    ${name_input}    ${val1} 
    Input Text    ${name_input}    ${val2}

如何将参数从测试用例传递给关键字 Draw something 我试图将它直接传递给如下关键字

*********关键字******* 画点东西 ${name} ${val1} ${val2}

但给出错误关键字预期 0 个参数但得到 3

有人可以帮我解决这个问题吗?谢谢。

这里是关于如何使用带有 Robot Framework 关键字的参数的文档: https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#using-arguments

下面是一个根据参数 firstlast 打印全名的示例:

*** Keywords ***
Print Name
    [Arguments]       ${FIRST}  ${LAST}
    Log To Console  ${FIRST} ${LAST}

*** Test Cases ***
Test printing a name
    Print Name  John  Doe

如您所见,您需要在关键字下添加 [Arguments] 部分:

*** Keywords ***
Draw something
    [Arguments]   ${name}  ${val1}  ${val2}
    Input Text    ${name_input}    ${name}
    Input Text    ${name_input}    ${val1} 
    Input Text    ${name_input}    ${val2}