Selenium Firefox Tutorial

Tutorial Selenium Firefox

Transition to Code - Export von Selenium IDE nach Selenium WebDriver. Selenium IDE ist ein Plugin für den Firefox Webbrowser. Dann wird der Webdriver für Firefox geladen. Falls Sie noch nie Java-Kenntnisse hatten, sollten Sie ein Tutorial besuchen. Inwiefern ändern sich bestehende Implementierungen von Selenium WebDriver Tests?

Automatisches Prüfen von Websites mit dem Selenium WebDriver

Der Startschuss für das Open-Source-Projekt "Selenium" zur Durchführung von automatisierten Browser-Tests fiel 2004 durch Jason Huggins während seiner Zeit bei ThinkWorks, der damals vor allem mit Java-Script arbeitete. Der Internet Explorer war zwar der dominierende Webbrowser, aber es wurden bereits einige andere Browserversionen (insbesondere Mozilla-Varianten) verwendet.

Die Open -Source-Testwerkzeuge waren nur für individuelle Webbrowser (typischerweise für Internet Explorer) oder für die Simulation von Webbrowsern (z.B. HttpUnit) verfügbar und die Preise für die kommerziellen Werkzeuge waren, insbesondere für kleine Vorhaben, noch nicht erschwinglich. Zum Glück unterstützen alle zu prüfenden Browsers Java-Script. In Anlehnung an das FIT-Projekt wurde dem Java-Skript eine tabellarische Schreibweise hinzugefügt, die es Benutzern mit eingeschränkten Programmierfähigkeiten erlaubt, Prüfungen zu erstellen.

Es wurde 2004 unter dem Titel "Selenium" (oder "Selenium Core") und unter einer Lizenzvereinbarung für die Nutzung von Adobe Acrobat Reader 2 freigegeben. Selenium ist in reinem Java-Script programmiert und musste daher auf dem selben Rechner wie die Anwendung ablaufen. Viele Restriktionen der "gleichen Host-Richtlinie" des Browsers konnten vermieden werden.

Dieser Aufbau machte es möglich, Selenium-Verbindungen für viele Sprachen zu erstellen. Man nannte diese Variante "Selenese" oder auch "Selenium-Fernbedienung" (Selenium RC). In der Zwischenzeit arbeitete ThinkWorks an einer weiteren Browser-Automatisierung: dem sogenannten Internet-Treiber. Der WebTreiber wurde aus dieser Notwendigkeit heraus entwickelt und war eigentlich für den Einsatz in Verbindung mit dem Programm entwickelt worden. Kurz nach der Veröffentlichung folgte jedoch die Betreuung von Internet Explorer und Firefox.

Zwischen Selenium Renault und den WebDrivern gab es signifikante Abweichungen. Selenium Renault verfügt über eine wörterbuchbasierte API, die alle Klassenmethoden verwendet, während der WebTreiber über eine objektorientierte API verfügt. Darüber hinaus unterstützt der WebTreiber zunächst nur Java, während Selenium RM mehrsprachig ist. Selenium Core war eigentlich eine Javascript-Anwendung, die im Sicherheitssandkasten des Webbrowsers abläuft.

Der WebDriver hat versucht, sich in den Webbrowser zu integrieren und das Browsersicherheitsmodell zu umgehen, was zu einem wesentlich größeren Aufwand bei der Entwicklung führte. Beide Vorhaben wurden im Juli 2009 zusammengeführt und der Selenium WebDriver ist das Ergebnis beider Vorarbeiten. Es werden Sprachverbindungen für Java, C#, Phyton und Ruby unterstüzt. Darüber hinaus werden Chrome, Firefox, Internet Explorer, Oper und die Browsers für den Androiden und das iPhone  unterstützt.

Seitliche Projekte bieten Verbindungen für Perl und eine Implementation für den Browsers an. Das API des WebDrivers ist nicht an ein besonderes Test-Framework geknüpft und kann sowohl in Unit-Tests als auch in der bewährten Main-Methode eingesetzt werden. Am einfachsten lässt sich Selenium 2.0 mit Java verwenden, indem man das Package in Java integriert.

Die Javabindings (die Selenium 2.0 Java-Client-Bibliothek) und alle Abhaengigkeiten. Bitte stellen Sie sicher, dass die neueste Seleniumversion benutzt wird! Andernfalls stimmt er nicht mit dem WebTreiber überein. Installation von Treibern für Browser: Firefox: ist der Standardbrowser für Selenium. Dies bedeutet, dass nichts eingebaut werden muss und die Versuche umgehend anlaufen.

Dies hat den großen Vorteil, daß die Prüfungen für jeden einzelnen Webbrowser individuell durchführbar sind. In diesem Beispiel werden die Prüfungen als Komponententests erstellt. Damit wird ein Package für verwandte Testfälle unter dem Namen Src/Test / Java erstellt. Hier kann später auch eine neue Version der Software erstellt werden, mit der alle Testfälle des Pakets abspielbar sind.

Abhängig davon, welcher Webbrowser zum Prüfen verwendet werden soll, wird hier der zugehörige Grafiktreiber generiert.

System.setProperty("webdriver.chrome. driver", "/Anwendungen/Chromedriver"); Treiber = neuer ChromeDriver(); Für den Internet Explorer auch: System.setProperty("webdriver.ie. driver", "/DRIVERS/IEDriverServer/IEDriverServer. exe "); Treiber = neuer InternetExplorerDriver(); Es ist auch logisch, eine @After-Methoden am Ende der Klassen zu haben, die den Webbrowser wieder schließen und beenden.

Der Internet-Explorer benötigt mehr Zeit als Firefox und Chrome, da es für alles etwas mehr Zeit benötigt. Zuerst wird dem Browsertreiber eine URL für eine zu testende Website gegeben und die wartende Methode sollte anschließend sofort ausgeführt werden, da es eine gewisse Zeit dauern kann, bis der Webbrowser startet und die Website abgerufen wird. driver.get("http://seleniumhq. org"); waitForAwhile(); Nun können unterschiedliche Seitenelemente aufrufbar sein.

WebElementelement = driver.findElement(By. id("unique_id")); WebElementelement = driver.findElement(By. name("name")); WebElementelement = driver.findElement(By. tagName("tagname"))); WebElementelement = driver.findElement(By. className ("classname")) ; élément NetzElement = driver.findElement(By. linkText("linkText")))) ; élément NetzElement = driver.findElement(By. partialLinkText("Teil des Links"))) ; élément NetzElement = driver.findElement(By. xpath ("//input")); Da ich lange brauchte, um die korrekten CSS-Selektoren zu spezifizieren, hier ein kleiner Hinweis: Der Weg zu einem der CSS-Elemente ist so aufgebaut, dass zuerst ein einzelnes Bauteil mit einer einmaligen Kennung verwendet wird und dann die Unterobjekte ohne Kennung über die Klassen-Namen anspricht.

Sie sehen so aus: driver.findElement(By. In der Selenium -Java-Apin-Lesung oder ganz simpel in der Eklipse - dem Zeitpunkt nach dem Web-Element - können die auszuführenden Verfahren eingegeben werden und sehen, welche Verfahren zur Verfügung stehen.

Mehr zum Thema