2014-12-09 1 views
0

Привета я пытался сделать NavigationModule к доступу к моему содержанию в geb.page, но когда я хочу, например, от этой навигации «модуль» не может быть решен с помощью IntelliJgeb.page модуль содержания не может быть решен

class NavigationModule extends Module{ 
    static content = { 
     homeLink { $("a", title:"Home") } 
     contactLink { $("a", title:"Contact Us") } 
    } 
} 

class HomePage extends Page{ 

    static url = "http://www.websitetest.com" 
    static at={ 
     assert $("h1").text() == "Test website speed and performance" 
    } 
    static content = { 
     navBar {module NavigationModule} 
     //loginLink { $("a", text: "login")[0]} 
    } 
} 

, а также я не могу получить доступ из моего сценария

void test() { 

    Browser.drive() { 
     to HomePage 
     navBar. 
    } 
} 

кто-нибудь знает, что случилось? Я потратил много времени на поиск в Google, но я не нахожу ничего

заранее спасибо

+0

всегда есть возможность, что IntelliJ не понимает DSL. – cfrick

ответ

1

Док Геба (http://www.gebish.org/manual/current/ide-and-typing.html#strong_typing) рекомендует expecitly определить типы, чтобы иметь лучшую поддержку IDE.

С этим примером для меня работает код.

class HomePage extends Page { 

    static url = "http://www.websitetest.com" 
    static at={ 
     assert $("h1").text() == "Test website speed and performance" 
    } 

    static content = { 
     navBar {module NavigationModule} 
     //loginLink { $("a", text: "login")[0]} 
    } 

    // explicitly define getter to give IntelliJ more type information 
    NavigationModule getNav() { 
     navBar 
    } 
} 

тест сценарий:

void test() { 

    Browser.drive() { 
     // assign to page in order to have code completion on page 
     page = to HomePage 
     // code completin for homeLink works 
     navBar.homeLink 
    } 
} 
+0

Спасибо @ Jörg Alferink, что вы даете, хорошо работает нормально, на самом деле моя ошибка заключалась в том, что текстовое значение неверно. Правильное значение - это «Вход» с помощью капитала leter: S lol, но выглядит в явном виде более понятным образом. большое спасибо –

 Смежные вопросы

  • Нет связанных вопросов^_^