Тесты на основе WebDriver для нашего веб-приложения требуют одновременного открытия нескольких окон браузера: один открывает портал, ориентированный на потребителя, другой открывает портал администратора (чтобы гарантировать, что изменения в одном из них видно в другом). Это делается путем создания двух отдельных объектов WebDriver: например,C# + VisualStudio + Несколько экземпляров WebDriver = SocketExceptions
IWebDriver driver1 = DriverFactory.NewChromeDriver();
IWebDriver driver2 = DriverFactory.NewChromeDriver();
Тест может иметь доступ к обеим WebDrivers по желанию. Наши тесты указаны в SpecFlow и реализованы как случаи MSTest. Тесты разработаны в VisualStudio 2013 Premium, а драйверы просто используют экземпляр ChromeDriver на локальной машине. Все хорошо и хорошо.
Когда тест выполняет некоторые действия в Driver2 (скажем, входит в систему), а затем возвращается к Driver1, я получаю исключение SocketException, потому что localhost активно отказывается от соединения. Брандмауэру Windows было предложено разрешить приложение на всех портах, фабрика настроит прокси правильно. Точная трассировка стека:
System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:50467
Result StackTrace:
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
Firefox открывает один браузер, а затем сдается. IE не может даже НАЙТИ браузер, когда открыто несколько окон.
(я никогда не имел эту проблему, пока я не установил последние обновления для VS2013 ....)
Любые идеи? Спасибо команде.
UPDATE: похоже, эта проблема возникает только при попытке проверить элемент, который не находится в DOM, или при попытке проверить атрибут для элемента, который не существует. По какой-то причине это не бросает исключение NoSuchElementException .... – Smoke