规范流。参数化测试

我有这样的用户故事:

Given I am on the 'Login page'
When I enter following credentials
     |Email |Pass |
     |email1|pass1|
     |email2|pass2|
Then I get next 'Error' messages
     |ErrorMessage |
     |ErrorMessage1|
     |ErrorMessage2|

如何才能做到这一点?问题是,通过我的实现,网络驱动程序正在输入第一个表中的所有凭据,然后尝试断言错误消息,但我需要多次运行测试(一种循环)。

stack overflow Specflow. Parametrized tests
原文答案
author avatar

接受的答案

您需要使用 scenario outline

Scenario Outline: some name...
    Given I am on the 'Login page'
    When I enter the email <email> and password <password>
    Then I get next the error message <errorMessage>
Examples:
    | email | password | errorMessage |
    | email1| pass1    | ErrorMessage1|
    | email2| pass2    | ErrorMessage2|

这将运行相同的测试两次,对 Examples 表中的每一行运行一次。如果您希望测试运行更多次,只需向 Examples 表添加更多行

正如评论中所指出的, Examples 是 gerkin 中的定义术语,但 ScenariosExamples 在 SpecFlow 中可以正常工作


答案: