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