我正在学习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
我不确定第二种方法有什么问题?