我们可以 运行 Robot Framework 中测试用例的具体步骤吗?

Can we run specific steps of a Test-Case in Robot Framework?

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

换句话说,Invalid Login(下面列出的Testcase)是否可以带参数并只执行特定步骤。例如,运行输入用户名并提交或运行输入密码并提交或运行两者都提交。

*** 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 Framework 编写数据驱动测试。 Robot Framework 提供了一个很好的例子:

https://bitbucket.org/robotframework/webdemo/wiki/Home#rst-header-test-cases

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

如果你坚持要一个可选步骤的测试用例,我的做法是将可选部分放在一个或多个关键字中,然后使用Run Keyword 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

我们所做的是在测试名称中使用TAGS。然后当您 运行 命令时,您可以使用选项 -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_tags your_robot_file.robot 希望它可以帮助某人即使问题很老