Мой ответ предполагает, что вы используете Maven / Gradle. Пожалуйста, дайте нам знать, если это не так.
Эта ошибка является признаком отсутствия зависимости от пути к классам, или, возможно, сбоя версии. Как правило, этого не должно происходить, поскольку используемые зависимости должны включать транзитивные зависимости в свои собственные зависимости. Что касается restassured, он содержит зависимость от groovy:
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
</dependency>
Тогда может быть несколько возможных причин этого:
Либо вы исключили транзитивную зависимость от groovy из своей переопределенной зависимости, либо у вас есть зависимость от groovy с версией, отличной от той, которую ожидает переутомленная (та, где рассматриваемый класс недоступен). Третий вариант - это наличие нескольких зависимостей в зависимости от groovy с разными версиями.
Если вы используете maven, быстрый способ проверить это с помощью этой команды:
mvn dependency:tree -Dincludes=org.codehaus.groovy
Если вы можете попробовать это, пожалуйста, опубликуйте результат.
Также сообщите нам, какую версию RestAssured вы используете.
Обновление:
Из вашей зависимости: в дереве вы можете увидеть, что здесь есть несколько отличных версий. 2.5.6, я думаю, добавляется как попытка исправить это, , вы можете удалить это , так как это только дает вам сбой версии.
Но, хорошие части:
У вас есть две зависимости:
net.serenity-bdd:serenity-core:1.5.2
net.serenity-bdd:serenity-rest-assured:2.0.48
Каждая из них имеет отличные зависимости, но для разных версий 2.4.11 и 2.5.5 соответственно. Это приводит к сбою версии, так как код, который ожидает 2.5.5, внезапно должен работать с 2.4.11.
Недостающий класс был добавлен в базу кода после версии 2.4.11, поэтому у вас есть код, который ожидает, что этот класс будет там, но его нет.
Есть два способа исправить это:
Либо добавьте явную зависимость к groovy, так как это переопределит версию любых транзитивных зависимостей:
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
<version>2.5.5</version>
</dependency>
Это НЕ лучший способ исправить это, так как у вас все еще будет зависимость, предполагающая, что вы используете версию 2.4.11.
Правильный способ исправить это - выровнять версию двух упомянутых зависимостей:
net.serenity-bdd:serenity-core:1.5.2
net.serenity-bdd:serenity-rest-assured:2.0.48
Не зная каких-либо подробностей об этой платформе, я бы предположил, что вы должны использовать одну и ту же версию для этих двух зависимостей.
Обновление № 2:
Быстрый поиск в Google показывает, что эти две зависимости, похоже, следуют одной и той же схеме управления версиями. Подводя итог, либо обновите serentiy-core до 2.0.48, либо понизьте serentiy-rest-assured до 1.5.2. Также удалите свою зависимость от groovy-all.