Selenium .NET HtmlUnitDriver не удалось подключиться к удаленному серверу - PullRequest
0 голосов
/ 07 июня 2018

Я портирую некоторые тесты Selenium JUnit на проект .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)
  • NUnit-проект (TDD.Tests) с ссылкой на TDD

TheПроект MVC настроен для запуска на localhost: 8080, и я также попытался установить для веб-драйвера этот ip:

IWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:8080"), DesiredCapabilities.HtmlUnit());

Я также попытался использовать адрес обратной связи вместо localhost.

Версии: Versions

Кто-нибудь знает, что может вызвать эту проблему и как ее исправить?

Заранее спасибо!

1 Ответ

0 голосов
/ 07 июня 2018

Синтаксис для вызова класса RemoteWebDriver выглядит следующим образом:

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 .

В соответствии со вторым пробным кодом http://localhost:8080 ваш Сервер приложений , но не Удаленный сервер WebDriver Например, Selenium Grid Hub.Следовательно ваша программа показывает ошибку.Если вы используете Selenium Grid , измените строку следующим образом:

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

Наконец, кратко рассмотрим Документы API из Иерархия наследования из OpenQA.Selenium.Remote.RemoteWebDriver показывает следующую иерархию, где HtmlUnit равно отсутствует :

OpenQA.Selenium.Remote.RemoteWebDriver


Однако согласно обсуждению Существует ли HtmlUnitDriver для .NET? Ваша первая пробная версия кода должна сработать:

IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.HtmlUnit());

Если вы хотите использовать Реализация Firefox вы можете:

IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.HtmlUnitWithJavaScript());

TL; DR

...