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

时间:2016-04-08 06:35:57

标签: c# visual-studio selenium-webdriver nunit

我正在使用VS 2015社区。我的Selenium C#测试用例总是运行两次。 Test Case Explorer窗口显示运行了1个测试用例,但是传递结果显示执行了两个相同的测试用例。 我的测试或框架出了什么问题? 我在我的项目下创建了一个带有testcase(NunitDemo.cs)的测试文件。

我也将截图附加到我的解决方案资源管理器窗口。

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);

        }
    }
}

2 个答案:

答案 0 :(得分:2)

作为Dmitry的答案的补充,如果您通过扩展程序以及NuGet程序包安装了NUnitTestAdapter,则测试将运行两次。这是一个众所周知的问题。

答案 1 :(得分:1)

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