Почему селен не предоставляет никакой информации с NoSuchElementException - PullRequest
2 голосов
/ 27 марта 2012

Я использую веб-драйвер с Firefox в Java.Я ищу элементы с помощью аннотаций, например .:

@FindBy(id = "terminal")
private WebElement selectTerminal;

Допустим, что страница не отображается, и по какой-то причине этот элемент не отображается.Сообщение об ошибке очень неясно, и если я запускаю тесты удаленно на Jenkins, его очень сложно отладить и посмотреть, что именно произойдет, например:селектор?Конечно, я мог бы обернуть это каким-то вспомогательным методом, с помощью try / catch и т. Д. Но я хочу знать, почему он не отображает селектор и как я могу избавиться от этого ПРЕДУПРЕЖДЕНИЯ?

Спасибо!

1 Ответ

0 голосов
/ 24 июля 2013

Хотя это не идеальное решение, оно помогло мне решить ту же проблему.

Включите ведение журнала в файл, установив системное свойство webdriver, например,

-Dwebdriver.firefox.logfile=/tmp/ff.log 

или в вашем тестовом коде:

System.setProperty("webdriver.firefox.logfile", "/tmp/ff.log")

Затем в файле ff.log вы должны увидеть выходные данные, где произошла ошибка, например.

[6.389][FINE]:      Command received (/session/5a4c8a0a7ef5453467687267348e8cb3/element)    with params {
"using": "xpath",
"value": "//input[@class='login-submit']
}

[6.389][FINER]:     Waiting for all views to stop loading...
[6.390][FINER]:     Done waiting for all views to stop loading
[6.505][FINER]:     Waiting for all views to stop loading...
[6.506][FINER]:     Done waiting for all views to stop loading
[6.506][WARNING]:   Command finished (/session/5a4c8a0a7ef5453467687267348e8cb3/element)   with response {
   "sessionId": "5a4c8a0a7ef5453467687267348e8cb3",
    "status": 7,
    "value": {
    "message": "The element could not be found"
 }
} 

По крайней мере, теперь я вижу, на каком элементе он основан на xpath . Это работает и с ChromeDriver

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...