У меня есть тест Selenium, который не прошел бы, если бы он выполнялся как часть задания Jenkins на узле, размещенном в vSphere и администрируемом через RDP.Тест запускается с IE11.
После некоторого устранения неполадок выяснилось, что он успешен, если удаленный рабочий стол подключен и сфокусирован, но завершается неудачей с исключением, если удаленный рабочий стол отключен или даже свернут:
OneTimeSetUp: OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL http://localhost:56095/session/817b36df-a1b5-484e-b205-d4a0bac8002a/element/0cfa6678-2104-4bc6-bb71-e6d8eac507fb/value timed out after 60 seconds.
----> System.Net.WebException : The operation has timed out
Сбой строки:
textboxElement.SendKeys("foo").Perform();
В качестве обходного пути я вошел в систему через vSphere Console вместо RDP, а затем даже после закрытия vSphere тест больше не завершился неудачей.Это обходной путь, но я должен быть осторожен, чтобы никогда не входить через RDP и всегда администрировать только через vSphere Console.
Так что мои вопросы:
- Является ли
SendKeys()
каким-то образомнесовместим с сеансом RDP и связан ли с этой ошибкой winapi ? - Есть ли альтернатива использованию
SendKeys()
в Selenium?