Geb отличная простая настройка, получая NoClassDefFoundError
Я изучаю Geb (и Groovy) из опыта Java, и мне кажется, что я понимаю, как работает Geb, но мне не удается даже заставить работать простейшую конфигурацию.
В основном я получаю следующую ошибку:
Пойман: java.lang.NoClassDefFoundError: geb / error / GebException
java.lang.NoClassDefFoundError: geb / error / GebException
на DriveIt.run(DriveIt.groovy:15)
Вызывается: java.lang.ClassNotFoundException: geb.error.GebException
... 1 больше
Мой класс очень прост:
import groovy.grape.Grape
// I have these out of desperation
Grape.grab(group:"org.gebish", module:"geb-core", version:"0.9.3")
Grape.grab(group:"org.seleniumhq.selenium", module:"selenium-firefox-driver", version:"2.41.0")
Grape.grab(group:"org.seleniumhq.selenium", module:"selenium-support", version:"2.41.0")
// basic imports here
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.*;
import geb.Browser;
Browser.drive {
go "http://www.google.com"
}
С помощью этого простого кода я получаю сообщение об ошибке в строке "Browser.drive".
Вот как выглядит мой файл GebConfig.groovy:
import org.openqa.selenium.chrome.ChromeDriver
import org.openqa.selenium.firefox.FirefoxDriver
driver = {
def driver = new ChromeDriver()
driver
}
baseUrl = 'http://localhost:8080/'
reportsDir = 'target/geb-reports'
И еще одно замечание: я использую Eclipse, у меня также правильно импортирован jar-код geb-кода в classpath.
Кажется, я ничего не делаю неправильно, но, судя по всему, я не могу понять, почему я получаю ошибку, говоря, что "Браузер" не распознан.
Любая помощь??? пожалуйста!!
3 ответа
Вам нужно будет использовать @Grab
в качестве аннотации для него работают. Смотрите: http://groovy.codehaus.org/Grape.
Кроме того, вы можете рассмотреть этот пример проекта, чтобы узнать, как использовать Geb с Gradle - использование системы сборки для разрешения ваших зависимостей может быть самой разумной вещью в долгосрочной перспективе.
По какой-то причине ни одно из решений не сработало. Вместо этого я заново создал новый проект Groovy, используя Maven, который автоматически загружал все зависимости. Затем я добавил зависимость geb-core 0.9.3, которая наконец исправила ее.
Вы можете скачать необходимый пакет через командную строку, используя команду grape install org.gebish geb-core 0.9.3
,