1

我正在学习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 上启动驱动程序服务 TearDown: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

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

4

0 回答 0