Robotframework 我们可以在Robot框架中运行测试用例的特定步骤吗?

Robotframework 我们可以在Robot框架中运行测试用例的特定步骤吗?,robotframework,Robotframework,我正在使用Robot框架,我想知道是否可以在测试用例中只运行特定的步骤。例如,如果我想做一个测试,我只需输入用户名并提交,我需要编写一个不同的测试用例,还是可以有条件地运行下面列出的测试用例 换句话说,无效登录(下面列出的Testcase)可以接受参数并仅执行特定步骤。例如,运行Input Username和Submit,或者运行Input Password和Submit,或者同时运行这两个命令,然后提交 *** Test Cases *** Invalid Login Open Brows

我正在使用Robot框架,我想知道是否可以在测试用例中只运行特定的步骤。例如,如果我想做一个测试,我只需输入用户名并提交,我需要编写一个不同的测试用例,还是可以有条件地运行下面列出的测试用例

换句话说,无效登录(下面列出的Testcase)可以接受参数并仅执行特定步骤。例如,运行Input Username和Submit,或者运行Input Password和Submit,或者同时运行这两个命令,然后提交

*** Test Cases ***
Invalid Login
  Open Browser To Login Page
  Input Username    demo
  Input Password    check
  Submit Credentials
  Login Should Have Failed
  [Teardown]    Close Browser

谢谢

您应该研究如何为Robot框架编写数据驱动测试。机器人框架提供了一个很好的例子:


在我看来,最好的方法是进行单独的测试

如果您坚持使用带有可选步骤的测试用例,我会这样做,将可选部分放在一个或多个关键字中,然后使用
Run关键字If
有条件地排除步骤

例如:

*** Keywords ***
| Do additional validation
| | log | doing additional validation...

*** Test Cases ***
| Invalid Login
| | Open Browser To Login Page
| | Input Username | demo
| | Input Password | check
| | Submit Credentials
| | Login Should Have Failed
| | # run the following only if "${DO_MORE}" is defined
| | Run keyword if | ${DO_MORE} == True
| | ... | Do additional validation
| | [Teardown] | Close Browser

我们所做的是在测试名称中使用标记。然后,当您运行该命令时,您可以使用选项-i或-e(包括或排除)指定要运行或不运行的特定标记。 因此,在你的情况下:

*** Test Cases ***
Invalid Login
  Open Browser To Login Page
  [Tags]    specific_tags
  Input Username    demo
  [Tags]    specific_tags
  Input Password    check
  Submit Credentials
  [Tags]    specific_tags
  Login Should Have Failed
  [Teardown]    Close Browser
然后使用以下命令运行:
robot-i-specific\u标记您的\u robot\u文件。robot
希望它能帮助一些人,即使这个问题已经很老了