2016-05-18 6 views
1

Ich arbeite an einem geb page-Objekt mit einem sich wiederholenden Satz von UI-Elementen, einem div-Container mit einer Texteingabe und einer Schaltfläche darin.Geb Module, die einen Fehler zeigen

Ich bin versucht, die folgenden:

class MyModule extends Module{ 
    static content = { 
    textInput {$("input.editTextField")} 
    removeInputButton {$("button.removeButton")} 
    } 
} 

class MyPage extends Page{ 
    static content = { 
    myInputs { index -> 
     $("div.container", index).module(MyModule) 
    } 
} 

In IntelliJ der Code in MyPage hervorgehoben wird ("div.container, Index), wenn ich über diese schweben ich sehe" '$' in ‚geb.Page 'kann nicht angewendet werden ‚(java.lang.String.?)‘

Mein Ziel ist es, eine Wiederholung der UI in der Lage sein holen und etwas auszuführen, wie:

myInputs(0).textInput = 'foo' 
myInputs(1).textInput = 'bar' 
myInputs(5).removeInputButton.click() 

ich habe genannt die Dokumentation für Geb aber von allen acco Dies sollte funktionieren. Jede Hilfe wäre willkommen.

+0

Welche Ausnahme erhalten Sie, wenn Sie Ihren Test ausführen? – jk47

Antwort

0

Dies wird funktionieren, es ist nur, dass Ihr Code nicht sicher genug Typ für IntelliJ ist, um zu wissen, welche Methode Sie aufrufen. Wenn Sie Ihre Inhaltsdefinition ändern in:

myInputs { int index -> 
    $("div.container", index).module(MyModule) 
} 

dann wird die Warnung verschwinden.