Запуск функции 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" />
Другие вопросы по тегам