【问题标题】:Specflow BeforeScenario method loopsSpecflow BeforeScenario 方法循环
【发布时间】:2016-09-02 21:15:16
【问题描述】:

我有类似这样的代码:

 public class SBase
    {

        protected IWebDriver driver;
        [BeforeScenario()]
        public void SetUp() {
            driver = new ChromeDriver();
            driver.Navigate().GoToUrl("http://abcd.com");

        }

        [AfterScenario()]
        public void TearDown()
        {
            driver.Close();
            driver.Quit();
        }

    }

当我运行测试时会发生这种情况:

我不知道为什么,但是一旦 SetUp 方法完成,SetUp 方法就会一次又一次地启动,而不会在测试的第一步开始。

【问题讨论】:

  • 你的类SBase是否被项目中的每一步类继承?我假设是这样,这几乎肯定是问题所在。在继承的类中没有步骤,这会导致它们被重复
  • 是的,这就是问题所在。谢谢!

标签: c# automation specflow qa


【解决方案1】:
[TestFixture]
public class SBase
{
protected IWebDriver driver;

    [SetUp]
    public void SetUp()
    {
        driver = new ChromeDriver();
        driver.Navigate().GoToUrl("http://abcd.com");
    }

    [TearDown]
    public void TearDown()
    {
        if (driver != null)
            driver.Quit();
    }

    [Test]
    public void Test1()
    {
    }

    [Test]
    public void Test2()
    {
    }
}

试试这个

【讨论】:

  • 是的!这都是继承的问题。
  • 我不建议这样做。这是未来问题的秘诀,因为 specflow 不再负责测试初始化​​
猜你喜欢
  • 1970-01-01
  • 2021-08-13
  • 1970-01-01
  • 2023-03-15
  • 2021-08-03
  • 2022-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多