2015-02-03 3 views
0

Согласно http://www.gebish.org/manual/current/modules.html#modules модулей должен быть определен следующим образом:Как объявить модуль на странице, чтобы использовать автозаполнение IDE В GEB?

class ExamplePage extends Page { 
    static content = { 
     theModule { module ExampleModule } 
    } 
} 

Из документации ГЭБА по:

16.2.2 Сильных набрав

Для того, чтобы получить улучшенную поддержку авторинга, вы должны включить типы в ваши тесты и объекты страницы. Кроме того, вы должны явно обращаться к объектам браузера и страницы вместо того, чтобы полагаться на динамическую отправку.

Итак:

HomePage homePage = browser.to HomePage 
homePage.loginButton.click() 

Это прекрасно работает для страниц, но я могу найти способ, чтобы его с модулями Aswell? иметь автодополнение здесь:

HomePage homePage = browser.to HomePage 
homePage.loginFormModule. *autosuggestion here* 

(где «loginFormModule» - это модуль HomePage)

ответ

1

Сильнее типирование для определения модуля был недавно добавлен к мастеру, но еще не был выпущен. В основном, изменилось расположение метода module(), так что теперь IntelliJ понимает тип возврата. Если вы хотите дать ему попробовать, то вы можете использовать 0.10.1-SNAPSHOT от Geb's snapshot repo. Изменен способ передачи базового навигатора и параметров в модуль, см. the latest chapter on modules for info. Было бы здорово, если бы вы могли попробовать и рассказать мне, если просто изменив версию, вы получите автозаполнение.

+0

WOW. Спасибо, Хорошо, я постараюсь сообщить об этом. – Uniqobot

+0

Автозаполнение в модулях отлично работает с этим снимком в IntelliJ! Но у меня были некоторые трудности с подключением этого моментального снимка. Может быть, это слишком сыры на данный момент ... И Идея показала мне «Метод» waitFor «не реализован» для страниц и модулей ... Но в любом случае, спасибо. Я уже жду нового релиза!) – Uniqobot