OpenQA.Selenium.WebDriverException:无法使用Selenium WebDriver和C#执行单元测试在本地主机上启动驱动程序服务
我正在学习Selenium/WebdriverOpenQA.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
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(“到驱动程序目录的路径”);