Selenium ?!

T

Tiescher

Gast
Hallo,

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.
 
H

helloselen

Gast
du kannst nicht auf alle elemente der seite zugreifen, das bringt damit nichts..
 
T

Tiescher

Gast
wie ??
auf alle Elemente der Html Seite ???

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 .
 

hartzie

Aktives Mitglied
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.
 
T

Tiescher

Gast
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
 
H

helloselen

Gast
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.

klingt recht eindeutig - HtmlUnit Driver benötigt keinen browser

Klar, für 70,- € die Stunde findet sich viellecith ein Termin :)

es ist immer noch ein forum, wo jeder alles und alle alles mögliche schreiben kann :D
 
T

Tiescher

Gast
mh die Codes die die in dem Tutorial sind, sind aber ganz anders als wenn ich die mit Selenium IDE aufzeichne ...

weil wenn ich (wie die im TUt) nach cheese suche sxieht das so aus :
Java:
package com.example.tests;

import com.thoughtworks.selenium.*;
import java.util.regex.Pattern;

public class Untitled extends SeleneseTestCase {
	public void setUp() throws Exception {
		setUp("http://www.google.de/", "*iexplorer");
	}
	public void testUntitled() throws Exception {
		selenium.open("/");
		selenium.type("q", "cheese");
	}
}

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 :D

danke schonmal
 
H

helloselen

Gast
Eben, dazu gehören sowohl deine als auch meine Antworten ;)

ach, du bist mod, das hab ich natürlich übersehen; die lassen sich besonders ungern etwas dazwischenreden :D

dann finde mal jemanden, der dir deine 70 € gibt ^^

"angebot: für 70 € erklärt bekommen, wie man netbeans ein jar hinzufügt" LoL
 

hartzie

Aktives Mitglied
kennt sich denn hier niemand mit Selenium aus ???
oder will mir keiner helfen:/
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.
 

mvitz

Top Contributor
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?
 

hartzie

Aktives Mitglied
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?
 
T

Tiescher

Gast
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 ...
 

hartzie

Aktives Mitglied
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.
 
H

helloselen

Gast
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.
 
T

Tiescher

Gast
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 ....
 

Guardi

Bekanntes Mitglied
Die Klasse SeleneseTestCase ist in der client-driver.jar

Unter anderem enthält diese Klasse die Selenium-Instanz, die frei konfigurierbar ist und auf der du auch
die Aufrufe zum Testen machst.
 
T

Tiescher

Gast
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...
 

hartzie

Aktives Mitglied
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.
 
T

Tiescher

Gast
- 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
 
T

Tiescher

Gast
naja
zuerst:"cd C:\Selenium"
dann:"javac -classpath C:\....\selenium-client-driver.jar Untitled.java"

dann komm halt die genannten Fehler
 

hartzie

Aktives Mitglied
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.
 
T

Tiescher

Gast
ja die sind drinne ...

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.
 

ARadauer

Top Contributor
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...
 
T

Tiescher

Gast
ja ok das ist vll nicht das einfachste aber bitte noch mal zurück zu meinem letzten post ...

ausserdem brauche ich ja nur eine jar im Classpath ...
und wenn ich erstmal weiß wies geht werde ich auch Eclipse benutzen
 
T

Tiescher

Gast
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

kann man das zweite Fenster iwie unterdrücken ???
 

hartzie

Aktives Mitglied
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 :D.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Selenium . findElement . input Allgemeine Java-Themen 4
P Selenium . getText Problem Allgemeine Java-Themen 9
P Selenium . Probleme ein Iron Icon Element anzusprechen Allgemeine Java-Themen 2
P Selenium Scriipt zeigt Fehler beim Import Allgemeine Java-Themen 3
D Selenium - cannot find Chrome binary Allgemeine Java-Themen 6
N Ist Selenium hier das richtige Werkzeug? Allgemeine Java-Themen 1
S Selenium: WebDriverWait braucht zu lange Allgemeine Java-Themen 2
Husamoli345 Jsf-Selenium integration Allgemeine Java-Themen 43
R Java mit Selenium "Geister"Loop Allgemeine Java-Themen 1
E selenium script in Tampermonkey umschreiben Allgemeine Java-Themen 1
N Selenium ChromeDriver TimeOutException Allgemeine Java-Themen 1
1 Problem mit Selenium WebDriver findElement bei Instagram Bot Allgemeine Java-Themen 3
M Selenium JUnit Tests (Auswahl von Testmethoden auswerten) Allgemeine Java-Themen 5
R Selenium im geöffneten Browser Allgemeine Java-Themen 0
B Selenium öffnet nur den Browser Allgemeine Java-Themen 5
D Selenium WebDriver HtmlUnitDriver Problem beim Automatisieren Allgemeine Java-Themen 1
D Verwendung von Selenium Allgemeine Java-Themen 2
A Selenium HtmlUnitDriver CSS Warnings Allgemeine Java-Themen 0
X Selenium - Per Webdriver, Javascript generierte links klicken Allgemeine Java-Themen 0
M HTTP Selenium button klicken Allgemeine Java-Themen 2
J Selenium Referrer Allgemeine Java-Themen 8
Q Selenium Allgemeine Java-Themen 11
S Selenium Problemchen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben