Больше контроля над тем, что распечатывается при обнаружении исключения

Есть ли способ получить конкретную информацию из исключения при возникновении исключения?

Например, когда я звоню printStackTrace Я получаю много информации... но иногда я получаю слишком много информации, и большая ее часть - это не те вещи, которые мне нужно видеть, поскольку в любом случае это всегда одна и та же информация.

По крайней мере, когда дело доходит до Selenium Webdriver, он сначала говорит мне, в чем проблема

com.thoughtworks.selenium.SeleniumException: Element blah not found
  at org.openqa.selenium.internal.seleniumemulation.ElementFinder.findElement(ElementFinder.java:92)
  at org.openqa.selenium.internal.seleniumemulation.Click.handleSeleneseCommand(Click.java:35)
  at org.openqa.selenium.internal.seleniumemulation.Click.handleSeleneseCommand(Click.java:1)
  at org.openqa.selenium.internal.seleniumemulation.SeleneseCommand.apply(SeleneseCommand.java:35)
  at org.openqa.selenium.internal.seleniumemulation.Timer.run(Timer.java:40)
  at org.openqa.selenium.WebDriverCommandProcessor.execute(WebDriverCommandProcessor.java:140)  
  ...
Caused by: org.openqa.selenium.WebDriverException: ...
...
...
...

Затем он рассказывает мне о моей среде, возможностях (с другим списком сообщений) и другой "вызванной" информацией.

Это довольно длинное сообщение, и я не хочу, чтобы оно загромождало мой лог-файл. Есть ли способ пропустить все "вызванные" связанные сообщения?

Я старался getMessage но это только говорит

Element blah not found

Что не полезно. Хотелось бы хотя бы посмотреть, с какой это строки.

1 ответ

Решение

Конечно, получите только первые несколько кадров стека и проанализируйте их. использование getStackTraceчтобы получить StackTraceElement[] и перебирайте их, пока не получите кадр в вашем пакете(или, в противном случае, вы хотите его отфильтровать), чтобы получить правильную строку. Внутренние линии Selenium, вероятно, не те, которые вам нужны.

На этот элемент вы можете позвонить getMethodName, getLineNumberи тому подобное.

Другие вопросы по тегам