Selenium WebDriver C# 测试用例无意中 运行 两次

Selenium WebDriver C# test case is inadvertently running twice

我正在使用 VS 2015 社区。我的 Selenium C# 测试用例总是 运行 两次。测试用例资源管理器 window 显示 1 个测试用例 运行 但通过结果显示执行了两个相同的测试用例。 我的测试或框架有什么问题? 我在我的项目下创建了一个带有测试用例 (NunitDemo.cs) 的测试文件。

我也将屏幕截图附加到我的解决方案资源管理器 window。

using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;


namespace DemoNunit
{

    [TestFixture]
    public class NunitDemo
    {
        private IWebDriver driver;

        [Test]
        public void tc_newAccount()
        {
            //open browser and navigate to aut
            driver = new FirefoxDriver();
            driver.Navigate().GoToUrl("http://www.trainingrite.net");

            //click on signup button
            driver.FindElement(By.CssSelector("input.submitbtn")).Click();


            //enter firstname,  lastname, email, password
            driver.FindElement(By.Id("ctl00_MainContent_txtFirstName")).Clear();
            driver.FindElement(By.Id("ctl00_MainContent_txtFirstName")).SendKeys("Ren");
            driver.FindElement(By.Id("ctl00_MainContent_txtLastName")).Clear();
            driver.FindElement(By.Id("ctl00_MainContent_txtLastName")).SendKeys("G");
            driver.FindElement(By.Id("ctl00_MainContent_txtEmail")).Clear();
            driver.FindElement(By.Id("ctl00_MainContent_txtEmail")).SendKeys("rmng3@yahoo.com");
            driver.FindElement(By.Id("ctl00_MainContent_txtPassword")).Clear();
            driver.FindElement(By.Id("ctl00_MainContent_txtPassword")).SendKeys("12345");
            driver.FindElement(By.Id("ctl00_MainContent_txtVerifyPassword")).Clear();
            driver.FindElement(By.Id("ctl00_MainContent_txtVerifyPassword")).SendKeys("12345");
            driver.FindElement(By.Id("ctl00_MainContent_txtHomePhone")).Clear();
            driver.FindElement(By.Id("ctl00_MainContent_txtHomePhone")).SendKeys("951-265-1234");
            driver.FindElement(By.Id("ctl00_MainContent_txtCellPhone")).Clear();
            driver.FindElement(By.Id("ctl00_MainContent_txtCellPhone")).SendKeys("760-855-1234");
            driver.FindElement(By.Id("ctl00_MainContent_txtInstructions")).Clear();
            driver.FindElement(By.Id("ctl00_MainContent_txtInstructions")).SendKeys("Running first selenium automation scripts in C#!");

            //click on submit button
            driver.FindElement(By.Id("ctl00_MainContent_btnSubmit")).Click();


            //verify new customer is added successfully
            Assert.AreEqual("Customer information added successfully",  driver.FindElement(By.Id("ctl00_MainContent_lblTransactionResult")).Text);

        }
    }
}

您是否在 VS 中同时安装了 Nunit 2.x 和 3.x 测试适配器?如果是这样,请尝试删除其中之一并 运行 测试。

作为 Dmitry 回答的补充,如果您通过扩展和 NuGet 包安装了 NUnitTestAdapter,测试将 运行 两次。这是一个已知问题。