I have this code in feature:
Feature: CheckLicense
@T-1
@DataSource:licenses.csv @DataField:key=licenseNum
Scenario Outline: Open site - Enter key - Search - Personal List - Get name
Given Load settings
When I enter '<key>'
And I click on Search button
And I click on Personnel List button
Then I get name for '<key>'
and this StepDefinition class:
using CheckLicencesTest.Drivers;
using CheckLicencesTest.Pages;
using OpenQA.Selenium.Chrome;
using TechTalk.SpecFlow;
namespace CheckLicencesTest.StepDefinitions
{
[Binding, Scope(Tag = "T-1")]
public sealed class CheckLicenseStepDefinitions
{
private readonly BrowserDriver driver;
private LicenseCheckPage _licenseCheckPage;
private CheckDetailPage _checkDetailPage;
private ContractorsDetailPage _contractorsDetailPage;
public CheckLicenseStepDefinitions(BrowserDriver browserDriver)
{
driver = browserDriver;
}
[Given("Load settings")]
public void GivenLoadSettings()
{
_licenseCheckPage = new LicenseCheckPage(driver.Current);
_checkDetailPage = new CheckDetailPage(driver.Current);
_contractorsDetailPage = new ContractorsDetailPage(driver.Current);
}
[When("I enter '(.*)'")]
public void ThenIEnterKey(string key)
{
_licenseCheckPage.EnterKey(key);
}
[When("I click on Search button")]
public void WhenIClickOnSearchButton()
{
_licenseCheckPage.ClickSearch();
}
[When("I click on Personnel List button")]
public void WhenIClickOnPersonnelListButton()
{
_checkDetailPage.ClickPersonnelLink();
}
[Then("I get name for '(.*)'")]
public void ThenIGetName(string key)
{
Console.WriteLine($"Name for {key}: {_contractorsDetailPage.GetName()}");
}
}
}
In official documentation I see that they don't use stepDefinition.cs files, but I should use, so how can I use keys from csv and use it in StepDefinition.cs? May be I should I use another way to import data from csv to StepDefinition?
I found answer:
I was inattentive and did not notice these two links. In addition, the colors on the official website are rather pale. BUT, it helped me