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,

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