我们可以在Robot Framework中运行Test-Case的特定步骤吗?

时间:2015-07-06 17:44:06

标签: robotframework

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

换句话说,无效登录(下面列出的测试用例)可以获取参数并仅执行特定步骤。例如,运行输入用户名和提交或运行输入密码并提交或运行这两者,然后提交。

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

谢谢!

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我们所做的是在测试名称中使用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 希望它可以帮助某人甚至问题是相当老的