我正在使用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
谢谢!
答案 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
希望它可以帮助某人甚至问题是相当老的