Я использую webdriver с firefox в Java. Я ищу элементы с помощью аннотаций, например .:Почему selenium не предоставляет никакой информации с NoSuchElementException
@FindBy(id = "terminal")
private WebElement selectTerminal;
позволяет сказать, что страница не делает, и по какой-то причине этого элемент не получает оказан. Сообщение об ошибке очень неясными, и если я бегу тестов на удаленном Дженкинс, его очень трудно отлаживать и посмотреть, что именно случилось, например .:
The element could not be found (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 72 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.20.0', revision: '16008', time: '2012-02-28 15:00:40'
System info: os.name: 'Linux', os.arch: 'i386', os.version: '2.6.32-312-ec2', java.version: '1.6.0_20'
Driver info: driver.version: RemoteWebDriver
Как я мог бы получить более подробную информацию, которая будет содержать селектор ? Конечно, я мог бы обернуть его каким-то вспомогательным методом, с try/catch и т. Д. Но я хочу знать, почему он не отображает селектор и как я могу избавиться от этого ПРЕДУПРЕЖДЕНИЯ?
Спасибо!
Кроме того, веб-страница не очень полезна. Это действительно боль, и я с нетерпением жду решения. В моем случае это был пользовательский улов, запишите селектор и сделайте снимок экрана. –
Глядя на источник org.openqa.selenium.remote.ErrorHandler класс, я вижу такой комментарий, так что предположим, что это ожидаемое поведение: // Если serverError имеет значение NULL, то сервер не предоставил имя класса (только ожидалось, если // сервер - это процесс Java) или трассировка стека. Отсутствие className в порядке, но // отсутствие stacktrace действительно ушибает нашу способность отлаживать проблемы. – gerasalus
У меня были подобные проблемы в PHP, а также закончились обертыванием вещей в блоке try/catch. Кажется, это единственное, что нужно ... – Potherca