com.sun.jdi.InvocationException произошел вызов метода - PullRequest
67 голосов
/ 08 ноября 2010

Я просто хочу создать объект класса, но получил эту ошибку при отладке.Кто-нибудь может сказать мне, в чем проблема?Расположение этого кода в некотором классе обслуживания Spring (2.5).

Есть похожая проблема: OJB Reference Descriptor 1: 0 отношениеДолжен ли я установить автоматический поиск на false?

Большое спасибо ~

Ответы [ 16 ]

1 голос
/ 16 октября 2014

Может быть две причины, по которым элемент не существует:

  1. Bad xpath (// * [@ id'forgotQuote])
  2. Исправить xpath, но без элемента (// * [содержит (текст (), 'Этот текст отсутствует на странице')])

Вы получите исключение com.sun.jdi.InvocationException в любом случае, когда вы запускаете Debug и наводите указатель мыши на ссылку на WeBElement (это с Selenium и Java) ??? * Мы используем следующее, но не можем различить, если он возвращает false из-за неверного xpath или несуществующего элемента (допустимый синтаксис xpath):

public static boolean isElementDisplayed(WebElement element) {
    boolean isDisplayed = false;

    try {
        isDisplayed = element.isDisplayed();
    } catch (NoSuchElementException e) {
        ;// No Worries
    }
    return isDisplayed;
}
0 голосов
/ 11 февраля 2019

Я тоже сталкивался с такой же проблемой.В моем случае я ударил java.util.UnknownFormatConversionException.Я понял это только после звонка printStackTrace.Я решил его, изменив код, как показано ниже.

с:

StringBuilder sb = new StringBuilder();
sb.append("***** Test Details *****\n");
String.format("[Test: %1]", sb.toString());

на:

String.format("[Test: %s]", sb.toString());
0 голосов
/ 26 июня 2018

Я столкнулся с той же проблемой, потому что использовал аннотацию Lombok @Data, которая создавала методы toString и hashcode в файлах классов, поэтому я удалил аннотацию @Data и использовал специальную аннотацию @Gettter @Setter, которая исправила мою проблему.

мы должны использовать @Data только тогда, когда нам нужны все @ToString, @EqualsAndHashCode, @Getter для всех полей и @Setter для всех не конечных полей и @ RequiredArgsConstructor.

0 голосов
/ 30 марта 2018

Однажды я столкнулся с той же проблемой.В моем случае это было из-за переопределенного метода equals.Одно значение приближалось null.

0 голосов
/ 03 февраля 2016

В моем случае это было связано с устареванием ссылки на объект.Я автоматизировал свое приложение с помощью селенового веб-драйвера, поэтому я ввел что-то в текстовое поле, а затем он перешел на другую страницу, поэтому, когда я возвращаюсь на предыдущую страницу, этот объект устаревает.Так что это вызывало исключение, я обработал его, снова инициализировав элементы - PageFactory.initElements (driver, Test.class;

0 голосов
/ 19 мая 2015

Удаление hashCode() и equals() решило мою проблему.В моем случае я использовал хеш-код Apache commons-lang и равные компоновщики для создания нестатических классов вручную, поэтому компилятор не выдавал никаких исключений.Но во время выполнения это вызвало исключение вызова.

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