ich versuche zur Zeit mit Selenium zu arbeiten (habe erstmal nur versucht einen Loggin damit zumachen).
Das Aufzeichnen geht ja noch, aber wie kompiliere ich dann den Code, sodass ich am Ende einen Klasse X habe, die diesen Test ausführt.
naja doch die Java datein in Class datein kompilieren und dann mehrere Test wie zu einer Art Programm zusammen fassen ... und ja es ist dabei wichtig das jeder Test ne eigene Klasse ist .
soweit ich das noch in Erinnerung habe, muss du die Aufzeichnung exportieren als JUnit Test. Diesen Test kannst du dann in ein Projekt ganz normal verwenden. Nur brauchst du ein Selenium Testserver wodrauf dann die Tests und die darin enthaltene "Aufzeichnung" ablaufen sollen.
mh das hab ich ja auch so gemacht, dann hatte ich die Java Datei...
aber beim Kompilieren kamen dann die Probleme andauern NullPointer ...
ich hab ja auch die Klassen gedownloaded die man normaö zum Kompilieren brauch und den Classpath drauf gesetzt ... geht trotzdem nicht
und wie das dann mit der RemoteControl funktioniert wei0 ich auch nicht. Sry aber google bringt mich da ech nicht weiter weil da die Tutorials alle zu allgemein sind und nicht auf Java bezogen ...
wäre also sehr nett wenn sich jmd die Zeit nehmen könnte und dann das mal Step by Step eklären BITTE
Klar, für 70,- € die Stunde findet sich viellecith ein Termin
Ansonsten wirst du die Doku wohl selber lesen müssen, inkl. Beispielen usw., bei konkreten Fragen kannst du ja Google, die Selenium Jungs oder uns hier fragen (reihenfolge).
You can see that WebDriver acts just as a normal library does: it’s entirely self-contained, and you usually don’t need to remember to start any additional processes or run any installers before using it, as opposed to the proxy server with Selenium-RC.
so jetzt mal das als Beispiel ...
Ersten will ich das gar nicht in dem Package haben, was ja aber denke ich dazu führt das das mit "extends .." nicht mehr geht !
also weiß ich nich...
a. wo ich die Selenium-Server-Standalone.jar hinpacken muss.
b. wo ich die Ganzen Klassen von dem ClientDriver hinpacken muss (ich denke mal das ich die Brauche um das ganze zu kompilieren)
und c. wie ich das machen kann, dass die Klassen in einem anderen Package bzw in gar keinem Pakcage ist.
PS: 70€ hab ich grade nich aber es dauert ja auch bei weitem keine Std. , aber wer mir die Fragen beantwortet kann gerne einen freundlichen virtuellen Händedruck haben
Doch natürlich kennen sich Leute damit aus. Aber das Problem liegt nicht bei Selenium, sondern bei dir. Auch das Helfen ist so eine Sache für sich. Bei deinem Wissensstand wären das gute 3 oder 4 Stunden verzweifelter Kampf und das ohne Bezahlung. Sowas ist dreiste Abzocke und viele haben es erlebt und helfen deswegen bei solchen Posts nicht. Setz dich hin arbeite vernünftig die Tutorials durch und stelle dann konkrete Fragen. Ich musste mich da auch einarbeiten und das hat wirklich nicht lange gedauert.
Bevor du gar keine Antworten bekommst hier meine Antworten (Achtung, hab auch noch nicht viel mit Selenium gemacht):
a) Die standalone-server.jar brauchst du nur um den Selenium Remote Server zu starten. Auf diesen können anschließend Clients connecten um die Tests auszuführen. Wenn die Test auf dem Client selber laufen sollen, kann man sich den afaik auch sparen.
b) Richtig, das JAR mit dem ClientDriver musst du in deinen Classpath aufnehmen um die Tests zu kompilieren und auszuführen.
c) Wer hindert dich daran deine Tests in ein anderes Package zu packen?
Ich glaube mal das größte Hindernis ist zu wenig Wissen in Java. Die Package-Frage war auf den Test bezogen den er oben gepostet hat. Das Schlüsselwort
Code:
package com.example.tests;
fiel ihm wohl nicht ins Auge. Oder liege ich da etwa falsch?
a)na ich denke mal wenn ich das auf meinem eigenen Computer laufen lassen will bin ich der Client oder nich ???
(es geht im endeffekt darum eine Anmeldung, die bereits online ist zu testen)
b) Die Clientdriver sind aber keine jar sonder gaaanz viele Ordner ... bzw eine zip datei die man entpacken muss ?!
c)nach meinem wissen kann doch nur eine Klasse mit "extends ...." erweitert werden - in diesem Fall soll sie durch die Klasse SelenseTestCase erweitert werden - wenn sie sich im selben Verzeichnis bzw. im selben Package befindet ....
also ist das eher eine grundlegende Frage von mir welche Variante man ânstelle von "extends...." benutzen könnte ...
zu a) les dir Client Server Prinzipien mal durch. Du kannst gleichzeitig der Server und der Client sein...
zu b) Lies dir mal die Selenium Dokumentation durch. Da steht genauestens wie du die externen Libraries einbinden kannst.
zu c) deine Frage war auf Packages bezogen und nicht auf Vererbung... versuch doch zu erklären was du machen willst, dann kann man die Frage vielleicht besser verstehen.
zu c) : er will eine klasse mit extends erweitern... wenn die klasse nicht als final, private, default oder protected deklariert ist (da außerhalb des package), geht es meines wissens auch, sollte aber nicht gemacht werden, denn die lib ist so zu verwenden, dass du bestimmte instanzen erzeugst und darauf operationen (methodenaufrufe) durchführst.
c) also wenn ich mit Selenium IDE das aufzeichne dann wird das ja warum auch immer zu diesem Package hinzugefügt also wird automatisch meine Klasse (der Test) durch die Klasse SelenseTestCase erweitert ...
a) also könnte ich das auch ohne die RemoteControl ausführen ... ich dachte das brauch man schon wenn man einfach mit der Test-Klasse zb Firefox öffnen will ^^
b) ja ok das hatte ich ja soweit schon alles hinbekommen ....
Also ich habe nun mal versucht einen Test bzw ein Testsuite im Html Format mithilfe der Selenium-Server.jar im Cmd auszuführen .
Ging alles wunderbar: hab die Argumente dazu eingegeben und schon gings.
Aber für meine Zwecke müssten die Tests unbedingt im Java-Format sein... da sie in ein umfangreicheres Projekt eingebunden werden sollen.
Also ich bin jetzt so weit: ich habe einen Test mit Selenium IDE aufgezeichnet und dann die Testsuite und den Test als .java-Dateien
exportiert.
Jetzt wäre ja der nächste Schritt die beiden Klassen zu kompilieren und genau daran scheiterts, weil es genau dazu keine Anleitungen im Inet gibt.
Mittlerweile frage ich mich überhaupt ob man die Klassen kompilieren muss ?
Bitte könnte mir jmd erklären wie man diese Klassen kompiliert ?! Ich bin echt am verzweifeln mit diesem Programm...
Wie versuchst du es denn zu Übersetzen? Also welche IDE oder welches Buidltool, welches Betriebssystem? Ich jedenfalls habe gute Erfahrung mit Maven und dem Plugin für Selenium.
- kompilieren mit der Konsole von Windoof (also CMD)
- Java-Developement-Kit 1.6.0_24
- Windows Vista 32bit
habe es auch versucht mit Eclipse - also als Projekt und da alles reinpacken wie in der Doku von Selenium - aber so genau bin ich da auch nicht schlau geworden wo man da was hin tuen soll und wie man das kompiliert, ich habs paar mal versucht aber immer kam dann beim Kompilieren, dass:
- import com.....selenium.* nich gefunden werden kann
- demzufolge auch alle Klassen nicht
- dass SelenesTestCase nicht gefunden werden kann
hm ich weiss ja nicht wo du dir jar herhast aber so wie ich das auf der seleniumseite gefunden habe ist in der selenium-java-2.0b3.jar im seleniumpacket die SeleniumTestCase Klasse drin. Die JarDateien sind Zipformate. Also öffne die Jar die du da hast mit einem Entpacker und schau nach ob die Classdatei da überhaupt drin ist.
aber kann es sein das ich auch die Testsuite brauche, also das ich die zuerst kompilieren muss und diese dann im Classpath angeben muss bzw ins selbe verzeichnis packen wie die TestCase.java die ich kompilieren will.
Und wenn das so ist brauche ich dann auch noch junit ?
Weil jetzt habe ich es nochmal versucht und es kam als Fehler nicht mehr, dass es SeleneseTestCase nicht finden kann und die anderen Packages, sondern nur irgendein Fehler mit junit (das würde ich eben darauf zurück führen das ich kein junit habe)
und dann noch das es die ganzen Objekt ("setUp", "selenium" usw) nicht finden kann... obwohl es ja eigentlich die Klasse selenium im angegebenen Package (Com.thoughtworks.selenium.* gibt.
Warum baust du das auf der Konsole?
Nimm doch eine IDE!
Ich versteh ja wenn viele sagen, dass man die ersten Schritte auf der Konsole machen soll... aber ein paar fremde Jars zu benutzen und dann auf der Konsole zu baun, das würd ich nicht machen...
wenn man jetzt die Klasse startet, öffnet das ja immer ein Fenster in dem der Test gemacht wird (also Browser)
und dann nochmal nen Browser, in dem sozusagen der Ablauf ist
Das ist eine wichtige Ansicht. Wenn irgendwas schief läuft siehst du das da drin und kannst darauf reagieren. Dich durch die Logs zu schlagen ist eine frickelige Arbeit.
Also lass das mal lieber drin.
Aber schön das es endlich mal läuft .