繁体   English   中英

使用SpecFlow时C#NUnit SetUp和TearDown函数未运行

[英]C# NUnit SetUp and TearDown functions not running when using SpecFlow

我正在尝试使用NUnit和Selenium创建自动化测试,但是无法使SetUp和TearDown函数正常工作。

[Binding] [SetUpFixture]
public class AuthenticatorSteps
{
    IWebDriver _driver;
    WebDriverWait wait;
    string username;
    string password;

    [SetUp]
    public void SetUp()
    {
        _driver = new ChromeDriver();
        wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(10));
    }

    [TearDown]
    public void TearDown()
    {
        _driver.Close();
    }

[Given(@"I am on the site")]
        public void GivenIAmOnTheSite()
        {
            _driver.Manage().Window.Maximize();
            _driver.Navigate().GoToUrl("https://qa02-ukcasino.bedegaming.net");
            wait.Until(x => x.FindElement(By.CssSelector(AuthenticatorElements.LoginButton)));
        }

他们根本没有被召集。 如果我将代码放在步骤本身中,则我正在使用的代码会起作用,但是这需要我添加一个步骤。 然后,当我应该能够使用TearDown函数时,浏览器应该关闭。

这是单元测试吗?
将您的[SetUpFixture]更改为[TestFixture]
(注意:如果您使用的是NUnit 2.5或更高版本,则可以删除[TestFixture])

后者用于一次设置,而前者用于每次测试的设置。

这是SpecFlow测试吗?
我还假设您将SpecFlows测试运行程序设置为NUnit

您需要使用BeforeScenarioBeforeFeature属性,而不是NUnit属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM