组合功能文件中的所有方案

时间:2019-01-24 15:28:30

标签: specflow

我在一个功能文件中提到了5-6个小场景。 随着我们进行更高级的工作,现在需要结合所有这些方案并为不同实体提供方案概述。 如果好的做法,请指导我。

1 个答案:

答案 0 :(得分:0)

我不建议在一种情况下对5种不同的功能进行测试。这将很难调试并找出出现问题的原因。而且,如果另一个开发人员/测试人员必须管理测试结果,这将非常困难。

如果您确实想这样做,则可能需要看一下带有示例的方案大纲。 在ToolsQA网站上查看一些不错的示例。 https://www.toolsqa.com/specflow/data-driven-testing-using-examples-keyword-in-specflow/

您可以从示例表中读取一个关键字,然后该关键字将触发您要测试的特定流程/功能。 这很快就被扔到了一起:

Scenario Outline: Test 5 different functionalities
Given i am at the Home Page
And Navigate to LogIn Page
When i trigger <function> with variables <var1>, <var2> and <var3>
Then Success message <message>

Examples:
| function       | message                 | var1      | var2        | var3        |
| registration   | Yes this was succesfull | username1 | pw          | pw          |
| forgotpassword | Something went wrong    | email     | notrelevant | notrelevant |

    [When(@"i trigger (.*) with variables (.*), (.*) and (.*)")]
    public void WhenUserEnterAnd(string function, string var1, string var2, string var3)
    {
        switch (function)
        {
        case "registration":
            RegistrationFlow(var1, var2, var3);
            break;
        case "forgotpassword":
            ForgotPasswordFlow(var1)
            break;
        }
    }

  private void ForgotPasswordFlow(string email)
  {
          //do stuff for forgotpassword
  }

  private void RegistrationFlow(string username, string password1, string password2)
  {
          //do stuff for registration
  }