Groovy Browser Klasse einbinden ??

Peppy

Mitglied
hey leute,
habe mit groovy jetzt soweit eingerichtet das ich die konsole starten und scripte ausführen kann...
da ich aber scripte from Geb_Framework ausführen will, kommt immer eine fehlermeldung...hab mal nen screen gemacht
ImageShack® - Online Photo and Video Hosting

aus der fehlermeldung lässt sich erschließen das ich die klasse in groovy noch nicht eingebunden habe, da sie von anfang an nicht dabei ist...
Nur wie genau binde ich die Browser Klasse ein ?

dazu habe ich auf der geb seite folgendes gefunden
The Book Of Geb - Introduction - version 0.6.2
unter installation usage ganz unten steht ein script wie ich diese mit gradle einbinden kann....gradle habe ich vollständig eingerichtet...

nun jetzt meine frage:
ich weiß absolut nicht wie ich dieses script einbinden soll....bzw wo in gradle...da grade keine console etc hat...wie überhaupt kann ich den jetzt die Klasse einbinden, sodas geb framework ausgeführt werden kann ?

hat da jmd eine möglichkeit wie ich diese classe nun einbinden kann damit der class fehler nicht mehr wäre um einen rat sehr dankbar..
LG
 
Zuletzt bearbeitet:
B

bygones

Gast
willst du nur etwas in groovy machen oder willst du dein projekt mit Gradle bauen lassen ?

Gradle ist wie maven ein build tool.

wenn du einfach dein script ausfuehren willst musst du @Grapes nutzen wie es auf der Seite auch steht
 

Peppy

Mitglied
also ich habe eine aufgabenstellung die folgendes vor sieht:
ich soll mit geb framework verschiedene tests für eine seite schreiben..

ich soll dies mit groovy und gradle machen...
aber wenn ich halt in groovy verschiedene scripte die meine aufage vorsieht
ausführen möchte, kommt immer wie auf dem screen die fehlermeldung
resloves class page.

ein bekannter meinte eben ich müsse die browser klasse eifügen...
deswgen frage ich..

da ich mich mit der materie noch nicht so auskenne frage ich mal,
was wäre denn jetzt am besten um meine aufagbe zu lösen ?
die aufagben sind zb das aufrufen einer seite mit geb framework oder eben auf der
seite verschiedene dinge abzufragen...

brauche ich denn jetzt die browser klasse dafür um die geb scripte mit groovy richtig auszuführen ??

LG
 
B

bygones

Gast
von was fuer seiten redest du ? sicher dass du Gradle und nicht Grails meinst ? (Gradle = Build Tool, Grails = Web Framework).

Wenn du einfache Skripte hast und die in der Groovy konsole laufen laesst brauchst du die @Grapes Annotation vor deinem Skript (siehe die Seite die du verlinkt hast).

Wenn es mit Gradle wirklich gemacht werden muss, musst du eben auch mit gradle kompilieren und dort die Abhaengigkeit eintragen (auch siee der Seite)
 

Peppy

Mitglied
bin mir sicher das ich von dem aufgabensteller mitgeteilt bekommen habe, dass ich groovy und gradle nehmen soll...
mit grails hat er nichts geschrieben.
mit den seiten hast du mich vielleicht falsch verstanden...es geht nicht um mehrer seiten,
sondern es geht darum das ich eine seite vorgegeben bekommen habe,

auf der ich mit groovy und gradle verschiedene tests ausführen soll. also sprich die seite erstmal öffnen lassen,
auf der seite geweisse dinge abfragen etc etc..

deswegen verstehe ich halt nicht das groovy nicht mal das einfache script ausführt das eine seite öffnen soll...
immer kommt der class page fehler..

aber wenn du meinst ich sollte grapes vor das script setzen würde das ganze ja ungefähr so aussehen
Code:
@Grapes([
    @Grab("org.codehaus.geb:geb-core:0.6.2"),
    @Grab("org.seleniumhq.selenium:selenium-firefox-driver:2.15.0")
    @Grab("org.seleniumhq.selenium:selenium-support:2.15.0")
])
import geb.Browser
def browser = new Browser()
browser.go "http://google.com"
browser.$("h1").text() == "http://google.com"

mhhh sry verstehs einfach nicht wie ich dann die scripte mit gradle compilen muss das sie laufen...
 
B

bygones

Gast
wenn du dich noch gar nicht mit gradle auskennst, so empfehle ich dir Gradle - Documentation, die ist sehr ausfuehrlich.

Je nach dem wie du dich mit zb Maven auskennst geht der einstieg recht schnell
 

Peppy

Mitglied
werde die mr documentation mal genauer anschauen...
aber kann ich jetzt das resultat schonmal daraus ziehen, das ich nur mit groovy alleine also keine scripte zum laufen bekomme die zb ein browser mit google öffnet ??

weil das ausführen des scriptes und das kompilieren sind ja zwei par schuhe oder ??
 
B

bygones

Gast
werde die mr documentation mal genauer anschauen...
aber kann ich jetzt das resultat schonmal daraus ziehen, das ich nur mit groovy alleine also keine scripte zum laufen bekomme die zb ein browser mit google öffnet ??

weil das ausführen des scriptes und das kompilieren sind ja zwei par schuhe oder ??
Ich kenne dieses Geb nicht und weiss nicht was das macht, aber es ist identisch zu Java

du kannst in Java auch selbst kompilieren und brauchst kein Build Tool ala maven.

daher - wenn du nur das script an sich laufen lassen willst ueber die GroovyConsole, dann kannst du dort die Abhaengigkeiten per Grapes eintragen. Das Script kompilieren und laufen lassen.

Du kannst aber auch das Skript ohne Grapes Annotation erstellen und dann zb mit gradle kompilieren bzw bauen lassen.
 

Peppy

Mitglied
ok das habe ich jetzt soweit verstanden...
ich trage in die groovyconsole zuerst das grapes script ein:
Code:
@Grapes([
    @Grab("org.codehaus.geb:geb-core:0.6.2"),
    @Grab("org.seleniumhq.selenium:selenium-firefox-driver:2.15.0")
    @Grab("org.seleniumhq.selenium:selenium-support:2.15.0")
])

....und dann mein eigentlich geb script
Code:
import geb.Browser
def browser = new Browser()
browser.go "http://google.com"
browser.$("h1").text() == "http://google.com

wenn ich diese beiden aber so eintrage, bekomme ich die fehlermeldung
expecting ']', found '@' at line: 4, column: 5

sind die eckigen klammern falsch gesetzt ??

LG
 

Peppy

Mitglied
auch mit "," leider nicht ausführbar ....
weiß echt nicht mehr an was das noch liegen kann das geb
einfach nicht on groovy ausgeführt werden kann :(
 
B

bygones

Gast
[groovy]
@Grapes([
@Grab("org.codehaus.geb:geb-core:0.6.2"),
@Grab("org.seleniumhq.selenium:selenium-firefox-driver:2.15.0"),
@Grab("org.seleniumhq.selenium:selenium-support:2.15.0")
])

import geb.*

def browser = new Browser()
browser.go "http://google.com"
browser.$("h1").text() == "http://google.com"
[/groovy]
funktioniert bei mir
 

Peppy

Mitglied
ich bekomme diese ewig lange fehlermeldung...
screen.png - Bilder und Fotos kostenlos auf ImageBanana hochladen
durch das script muss ich silenium ja nicht auf dem rechner haben oder doch ??

muss ich den auch für firefox in PATH bei den umgebungsvariablen eintragen??
oder bedeutet das etwas anderes ?? denke es liegt grad nur noch an firefox oder ?
habe mir die Selenium IDE in Firefox eingebunden...aber über groovy lässt es sich
dennoch nicht starten

ich denke diese hürde noch dann hab ich es endlich geschafft :)
 
Zuletzt bearbeitet:

Peppy

Mitglied
PS:
habe mir die firefox.driver geladen...
die muss ich doch in den bin order von java rein packen
damit sie angewendet werden können oder ?
 
B

bygones

Gast
wie gesagt ich weiss nicht wie und was geb macht... das hat nix mehr direkt mit groovy zu tun.

Ich habe firefox bei mir auf den rechner normal installiert, und das skript laeuft wie gepostet.

Mehr kann ich leider nicht sagen - da musst du wohl dann bei den Geb leuten nachfragen
 

Peppy

Mitglied
geht ja erstmal nicht um das geb was ich meinte...
habe das gleiche script, so wie du es oben gepostet hast kopiert und in
meine groovyConsole eingefügt.

deswegen dachte ich ja auch müsste es einwandfrei laufen, nur wie ich oben gezeigt habe in
dem screen, kommt eine ewig lange fehlermeldung wo er meint
"can not find firefox binary path"
deswegen wundert es mich...
hast du den bei deinem firefox was in path eingetragen bei den umgebungsvariablen..?
oder läuft es einfach so ...?

grüße
 

Neue Themen


Oben