如何使用 Selenium 在 specflow api 中进行数据驱动测试?


我们可以在 SpecFlow 中使用/不使用 Examples 关键字来进行数据驱动测试。如果我们不使用 Examples 关键字,则我们必须从 Feature 文件中的步骤(用 '' 括起)发送数据。

特性文件实现

Feature: Launching application
Scenario: Launch URL
Given User hits URL 'https://tutorialspoint.com/index.htm'

示例

步骤定义文件实现

using System;
using TechTalk.SpecFlow;
namespace SpecFlowProject1.Features{
   [Binding]
   public class LaunchingApplicationSteps{
      [Given(@"User hits URL '(.*)'")]
      public void GivenUserHitsURL(string url){
         Console.WriteLine(url);
      }
   }
}

输出

接下来,我们将使用 Examples 关键字来执行数据驱动测试。在这里,在 Scenario Outline 关键字中定义了场景。通过这种方法,我们可以在多个数据集上运行相同的场景。

数据集以行的形式在 Examples 部分下面声明。此外,每个数据都用 | 符号分隔。如果有两行数据,则表示同一个场景将使用两个不同的数据集执行两次。特性文件中的步骤应包含用 <> 括起 Examples 表格的标题。

特性文件实现

Feature: User credential
Scenario Outline: Login module
Given user types <username> and <password>
Examples:
| username       | password |
| tutorialspoint1|    pwd   |
| tutorialspoint2|    pwd1  |

示例

步骤定义文件实现

using System;
using TechTalk.SpecFlow;
namespace SpecFlowProject1.Features{
   [Binding]
   public class UserCredentialSteps{
      [Given(@"user types (.*) and (.*)")]
      public void GivenUserTypesUserAndPwds(string username, string password){
         Console.WriteLine(username);
         Console.WriteLine(password);
      }
   }
}

输出

使用第一个数据集 −

使用第二个数据集 −

更新于: 07-Apr-2021

211 浏览

启动您的职业生涯

通过完成课程获得认证

开始使用
广告