NoClassDefFoundError
NoClassDefFoundError
в Java происходит, когда Java Виртуальная машина не может найти определенный класс во время выполнения, который был доступен во время компиляции. Например, если мы разрешили вызов метода из класса или получили доступ к любому члену класса stati c и этот класс недоступен во время выполнения, тогда JVM выдаст NoClassDefFoundError
.
Это сообщение об ошибке ...
java.lang.NoClassDefFoundError: org/openqa/selenium/WrapsElement
... подразумевает, что Selenium пытается разрешить определенный класс во время выполнения из org/openqa/selenium/WrapsElement
, который больше недоступен.
Что пошло не так:
Согласно Установка библиотек Selenium - Java Установка библиотек Selenium для Java выполняется с использованием maven добавив в свой проект следующую селен- java зависимость pom.xml
:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.X</version>
</dependency>
Вы, похоже, использовали:
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
, которая должна быть достаточным для выполнения ваших тестов.
Итак, другая зависимость для <artifactId>selenium-common</artifactId>
кажется ненужной, которая имеет значение (01.01.2011) и выглядит следующим образом:
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-common -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-common</artifactId>
<version>2.0b1</version>
</dependency>
Решение:
Выполните следующие шаги:
- Напомните ненужное дополнительная зависимость
<artifactId>selenium-common</artifactId>
- Do:
maven clean
maven install
maven test