Невозможно применить SpecFlow для использования BDD: SearchContext объекта локатора не может быть нулевым - PullRequest
0 голосов
/ 31 мая 2018

Я уже применил Nunit с OneTimeSetup / TearDown и POM в своем проекте.Я могу нормально запустить свой тест с UnitTest, как показано ниже:

[TestFixture]
public class UnitTest2 : AFixture
{
    [Test]
    public void TestMethod1()
    {
        CurrentPage = GetInstance<LoginPage>();
        CurrentPage.As<LoginPage>().Login("myname");
        CurrentPage.As<LoginPage>().GoToAuthenPage();
        CurrentPage.As<AuthenPage>().VerifyAuthen();
        CurrentPage.As<AuthenPage>().ClickContinue();
        CurrentPage.As<AuthenPage>().VerifyLogin();
    }
}

Но когда я попытался использовать Specflow и файл Feature + Stepdefs, он больше не работает

Файл моих функций:

@LoginFeature
Scenario: LoginFeature
Given User open App
When Login in with username as "myname"
Then User should be navigated to AuthenPage

Мой класс Stepdefs:

[Binding]
[Scope(Feature = "LoginFeature")]
public sealed class LoginSteps : AFixture
{
    [Given(@"User open App")]
    public void GivenUserOpenApp()
    {
        CurrentPage = GetInstance<LoginPage>();
    }
    [When(@"Login in with username as ""(.*)""")]
    public void WhenLoginInWithUsernameAs(string p0)
    {
        CurrentPage.As<LoginPage>().Login("myname");
        CurrentPage.As<LoginPage>().GoToAuthenPage();
    }
    [Then(@"User should be navigated to AuthenPage")]
    public void ThenUserShouldBeNavigatedToAuthenPage()
    {
        CurrentPage.As<AuthenPage>().VerifyAuthen();
    }

}

Выдает эту ошибку, когда я пытаюсь выполнить:

Сообщение: System.Reflection.TargetInvocationException: было сгенерировано исключениецелью вызова.----> System.ArgumentException: SearchContext объекта локатора не может быть нулевым Имя параметра: locator

Я не знаю, почему код работает с моим UnitTest, но не с файлом объектов.Пожалуйста, поделитесь своими решениями.Любые идеи приветствуются и помогают.Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...