我已经在我的项目中使用OneTimeSetup / TearDown和POM应用了Nunit。我可以使用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文件+ Stepdef时,它不再起作用了
我的专题文件:
@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:调用目标已抛出异常。 ----&GT; System.ArgumentException:定位器对象的SearchContext不能为null 参数名称:locator
我不知道为什么代码可以在我的UnitTest上工作但不能在Feature文件中工作。请分享您的解决方案。欢迎任何想法和大帮助。 谢谢