Запуск функции Gherkin в модульном тестовом проекте Visual Studio
Я пытаюсь настроить и запустить простой тестовый сценарий, в котором я открываю Google в Chrome, ищу Google и нажимаю первую ссылку. Я исхожу из этого с нулевым знанием любого из этих инструментов.
Я использую SpecFlow, Gherkin и Selenium.
В настоящее время я создал свой файл.feature и файл steps.cs:
SpecFlowFeature.feature:
Feature: SpecFlowFeature
In order to avoid silly mistakes
As a math idiot
I want to be told the sum of two numbers
Scenario Outline: Browese to Google page
Given I am on the Google home page
When I type <search> into textbox
Then I should see link for Google
Examples:
| Search |
| Google |
SpecFlowFeatureSteps.cs:
using System;
using TechTalk.SpecFlow;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace UnitTestProject2
{
[Binding]
public class SpecFlowFeatureSteps
{
private IWebDriver driver;
[BeforeScenario]
public void InitScenario()
{
driver = new ChromeDriver();
}
[AfterScenario]
public void TearDownScenario()
{
driver.Dispose();
}
[Given(@"I am on the Google home page")]
public void GivenIAmOnTheGoogleHomePage()
{
driver.Navigate().GoToUrl("http://google.co.uk");
}
[When(@"I type (.*) into textbox")]
public void WhenITypeIntoTextbox(string p0)
{
driver.FindElement(By.Id("lst-ib")).SendKeys("google");
driver.FindElement(By.XPath("//*[@id='tsf']/div[2]/div[3]/center/input[1]")).Click();
}
[Then(@"I should see link for Google")]
public void ThenIShouldSeeLinkForGoogle()
{
driver.FindElement(By.LinkText("Googlelkj;lkhpbgpiugfytdturwxesugh;k'k#';")).Click();
}
}
}
Когда я пытаюсь щелкнуть "Run All" в Test Explorer, кажется, что он не обнаруживает никаких тестов.
1 ответ
Решение
По умолчанию провайдером модульного тестирования является NUnit. Я предполагаю, что вы используете MSTest. Вам нужно изменить адаптер по умолчанию в файле app.config как
<unitTestProvider name="MsTest" />