Selenium.NET HtmlUnitDriver无法连接到远程服务器

Selenium.NET HtmlUnitDriver无法连接到远程服务器,.net,selenium,selenium-webdriver,nunit,htmlunit-driver,.net,Selenium,Selenium Webdriver,Nunit,Htmlunit Driver,我正在将一些SeleniumJUnit测试移植到.NET项目(MVC项目的测试) 我在Java中有以下几行代码: WebDriver driver = new HtmlUnitDriver(); 我将其移植到.NET,如下所示: IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.HtmlUnit()); 在Java中,这非常适合测试Spring应用程序,但在.NET中,它会引发一个异常: Test method TDD.T

我正在将一些SeleniumJUnit测试移植到.NET项目(MVC项目的测试)

我在Java中有以下几行代码:

WebDriver driver = new HtmlUnitDriver();
我将其移植到.NET,如下所示:

IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.HtmlUnit());
在Java中,这非常适合测试Spring应用程序,但在.NET中,它会引发一个异常:

Test method TDD.Tests.Acceptatie.TestLoginScreen.LoginScreenTest threw exception: 
OpenQA.Selenium.WebDriverException: Unexpected error.       
System.Net.WebException: Can't connect to remote server  --->     
System.Net.Sockets.SocketException: 
Can't connect because target computer actively refused the connection 127.0.0.1:4444
注意:错误信息是从荷兰语翻译过来的,因此可能不是英语中的确切信息

我已经添加了Selenium.Webdriver NuGet包。项目结构如下:

  • MVC项目(TDD)
  • 参考TDD的NUnit项目(TDD.测试)
MVC项目配置为在localhost:8080上运行,我还尝试将webdriver设置为该ip:

IWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:8080"), DesiredCapabilities.HtmlUnit());
我还尝试使用环回地址而不是“localhost”

版本:

有人知道是什么导致了这个问题,以及如何解决这个问题吗

提前谢谢

调用该类的语法如下所示:

public RemoteWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities)

where:
remoteAddress
    Type: System.Uri
    URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4444/wd/hub).

desiredCapabilities
    Type: OpenQA.Selenium.ICapabilities
    An ICapabilities object containing the desired capabilities of the browser.
根据错误

OpenQA.Selenium.WebDriverException: Unexpected error.       
System.Net.WebException: Can't connect to remote server  --->     
System.Net.Sockets.SocketException: 
Can't connect because target computer actively refused the connection 127.0.0.1:4444
您的程序/脚本似乎无法连接到WebDriver远程服务器

根据您的第二次代码试用,是您的应用程序服务器,而不是WebDriver远程服务器,例如
Selenium Grid Hub
。因此,您的程序将显示错误。如果您使用的是Selenium网格,请将该行更改为:

IWebDriver driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"), DesiredCapabilities.HtmlUnit());

最后,快速查看的继承层次结构的API文档显示了以下层次结构,其中
HtmlUnit
不存在


但是,根据讨论,您的第一次代码试用本应有效:

IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.HtmlUnit());
如果要使用Firefox实现,您可以:


TL;博士

您的二进制版本有问题(如果这是您的意思?)
IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.HtmlUnitWithJavaScript());