Я уже применил 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, но не с файлом объектов.Пожалуйста, поделитесь своими решениями.Любые идеи приветствуются и помогают.Спасибо