Robotframework 你能把关键字分成多行吗

Robotframework 你能把关键字分成多行吗,robotframework,Robotframework,我试图实现一个关键字,该关键字中嵌入了参数,如中所示。我有一个包含多个参数的关键字。我想知道是否可以把它分成多行?我在用户指南中找不到这个。我试着把它当作一个文档来拆分,但没有成功 *** Test Cases *** test When very long keyword ${argument_1}:${argument_2} with ... multiple arguments ${argument_4} is set to ${argument_5} *** Test C

我试图实现一个关键字,该关键字中嵌入了参数,如中所示。我有一个包含多个参数的关键字。我想知道是否可以把它分成多行?我在用户指南中找不到这个。我试着把它当作一个文档来拆分,但没有成功

*** Test Cases ***
test
    When very long keyword ${argument_1}:${argument_2} with
    ... multiple arguments ${argument_4} is set to ${argument_5}
*** Test Cases ***
test
    When very long keyword ${argument_1}:${argument_2} with \
    ... multiple arguments ${argument_4} is set to ${argument_5}

这里的标准溶液是什么?通常我应该制作较短的关键字吗?

您可以使用
拆分长关键字,如下所示:

*** Test Cases ***
Valid Login
    Given login page is open
    When valid username and password are inserted
    And credentials are submitted
    Then welcome page should be open
    *** Test Cases ***
test 1
    When very long keyword     ${argument_1}    ${argument_2}
    ...    ${argument_4}    ${argument_5}
test 2
    When very long keyword     ${argument_1}    ${argument_2}
    ...    ${argument_4}    ${argument_5}

*** Keywords ***
When very long keyword
    [Arguments]    ${arg1}    ${arg2}    ${arg3}
    ...    ${arg4} # You can also have new lines in arguments input!
    Log    My 4 arguments are: ${arg1}, ${arg2}, ${arg3}, ${arg4}
Cucumber有这个选项来分割参数,但我从未尝试过使用RobotFramework

Given the following people exist:
  | name  | email           | phone |
  | Aslak | aslak@email.com | 123   |
  | Joe   | joe@email.com   | 234   |
  | Bryan | bryan@email.org | 456   |

严格遵循代码,基本上存在多个输入分离错误。 试着这样做:

*** Test Cases ***
Valid Login
    Given login page is open
    When valid username and password are inserted
    And credentials are submitted
    Then welcome page should be open
    *** Test Cases ***
test 1
    When very long keyword     ${argument_1}    ${argument_2}
    ...    ${argument_4}    ${argument_5}
test 2
    When very long keyword     ${argument_1}    ${argument_2}
    ...    ${argument_4}    ${argument_5}

*** Keywords ***
When very long keyword
    [Arguments]    ${arg1}    ${arg2}    ${arg3}
    ...    ${arg4} # You can also have new lines in arguments input!
    Log    My 4 arguments are: ${arg1}, ${arg2}, ${arg3}, ${arg4}

您遇到了什么错误?我没有得到名为“When very long keyword${argument_1}:${argument_2}with”的关键字。我知道这个选项,但我认为这不适合BDD样式。@JiriJanous这个答案使用BDD样式,尽管它在关键字名称中显式地有
When
,这是不需要的。你应该编辑你的问题,并澄清它,因为你似乎是在问嵌入参数的关键字。我认为框架不支持它。@BenceKaulics这是一个很好的观点。我已经编辑了这个问题。@JiriJanous我的答案仍然适用于你的问题,基本上你的例子在一个外部文件(resources.txt)中定义了关键字,但其功能基本相同。@ClaudioBatista谢谢你,我在应该使用BDD的地方也尝试过,不幸的是它对我不起作用,问题是我在关键字中只有一个动作,所以我不知道如何分割它。