OpenQA.Selenium.WebDriverException:无法使用Selenium WebDriver和C#执行单元测试在本地主机上启动驱动程序服务

OpenQA.Selenium.WebDriverException:无法使用Selenium WebDriver和C#执行单元测试在本地主机上启动驱动程序服务,c#,selenium-webdriver,nunit,teardown,C#,Selenium Webdriver,Nunit,Teardown,我正在学习Selenium/WebdriverNUnit测试,执行测试时遇到问题: using OpenQA.Selenium; using OpenQA.Selenium.Firefox; using NUnit.Framework; class NUnitTest { IWebDriver driver; FirefoxOptions options; [SetUp] public void Initialize() { driver

我正在学习Selenium/Webdriver
NUnit
测试,执行测试时遇到问题:

using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using NUnit.Framework;

class NUnitTest
{
    IWebDriver driver;
    FirefoxOptions options;

   [SetUp]
    public void Initialize()
    {
        driver = new FirefoxDriver();
    }

    [Test]
    public void OpenAppTest()
    {
       driver.Navigate().GoToUrl("http:/www.demoqa.com");
    }

    [TearDown]
    public void EndTEst()
    {
        driver.Quit();
    }
}
运行测试时,我遇到一个异常:

OpenQA.Selenium.WebDriverException:无法在上启动驱动程序服务 localhost拆卸:System.NUllReferenceException:对象引用 未设置为对象的实例

我不知道如何修理它

但是,以下方法可行:

using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;    
using Microsoft.VisualStudio.TestTools.UnitTesting;

public class UnitTest1
{
    IWebDriver driver;
    [TestMethod]
    public void VerifyTitle()
    {
        //Write Actual Test
        string title = driver.Title;
        Assert.AreEqual(title, "Demoqa | Just another WordPress site");
    }

    [TestInitialize]
    public void Setup()
    {
        //start browser and open url
        driver = new FirefoxDriver();
        driver.Navigate().GoToUrl("http:/www.demoqa.com");
    }

    [TestCleanup]
    public void CleanupTest()
    {
        //close browser
        driver.Quit();
    }
}
在这里,我使用与失败示例相同的方法启动
webdriver
。 唯一的区别是失败的示例使用的是
NUnit.Framework
,正确的示例使用的是
Microsoft.VisualStudio.TestTools.UnitTesting


我不确定第二种方法有什么问题?

我建议编辑您的标题,明确您的问题是WebDriver和“NUnit”的问题。我很好奇为什么它可以通过MS单元测试工作,但不能通过NUnit工作。您使用的是什么版本的.NET绑定?Firefox的哪个版本?根据您的描述,听起来您使用的是3.0.0版Selenium和最新版本的Firefox(版本>=48)。如果是这样,您需要继续您的项目。我与NUnit有类似的问题,这是因为运行测试的实际exe与项目的bin输出不在同一目录中。我使用了:driver=newfirefoxdriver(FirefoxDriverService.CreateDefaultService(“到驱动程序目录的路径”);我建议编辑你的标题,明确你的问题是WebDriver和“NUnit”。我很好奇为什么它可以通过MS单元测试工作,但不能通过NUnit工作。您使用的是什么版本的.NET绑定?Firefox的哪个版本?根据您的描述,听起来您使用的是3.0.0版Selenium和最新版本的Firefox(版本>=48)。如果是这样,您需要继续您的项目。我与NUnit有类似的问题,这是因为运行测试的实际exe与项目的bin输出不在同一目录中。我使用了:driver=newfirefoxdriver(FirefoxDriverService.CreateDefaultService(“到驱动程序目录的路径”);