Selenium WebDriver teilen derselben Sitzung über Testfälle
Ich bin mit Selenium WebDriver (ein.k.eine Selen-2), und wollen auch weiterhin nur ein Fenster über alle Testfälle und vermeiden Sie das neue windows erstellt, indem die einzelnen test-cases, so dass ich arbeiten kann auf konsistente Daten im web.
Habe ich meine Suche, aber die meisten von Ihnen sind mit Selenium RC, die angezeigt wird, sehr Verschieden von den WebDriver (in, ich weiß nicht, wie zu halten, session-ID, etc.). Und auch ich bin mit c#..
Könnten Sie bitte geben Sie alle einfachen Beispielcode zu zeigen Ihre Gedanken. Ich Schätze es wirklich!!
Vielen Dank im Voraus!
InformationsquelleAutor jamesdeath123 | 2012-11-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
nun, ich würde zu teilen-Ansatz, ich verwende derzeit auf meinem Projekt. Versuchen Sie es mit der statischen Initialisierung von webdriver. Hoffe, dies wird dazu einen trick für Sie.
Naja, meine Struktur ist ganz einfach:
Ich habe
BaseSeleniumTest.java
wo ich speichern Sie alle meine grundlegende Methoden. Auch ich habe andereTestSuite.java
die Erben alle Methoden vonBaseSeleniumTest.java
:BaseSeleniumTest.java:
Also zum Abschluss meiner Antwort, die grundlegende Lösung auf Ihr problem ist :
Hoffe, dies hilft Ihnen.
hmm, nur eine Frage, was ist SeleneseTestBase in Ihrem Fall? Sie haben BaseSeleniumTest erweitert. Ich nehme an, BaseSeleniumTest ist die abstrakte Klasse, wo einige andere Sache, die Sie erweitert?
gut, Klasse SeleneseTestBase ist in com.thoughtworks.Selen (selenium framework-Klasse) Stellt eine Basisklasse implementiert, dass einige praktische Funktionen für Selenium-Tests (Sie sind nicht erforderlich, um diese Klasse erweitern). Diese Klasse fügt eine Anzahl von "verify" - Befehle, die wie "assert" - Befehle, aber Sie nicht beenden Sie den test, wenn Sie scheitern. Stattdessen, Prüfung, Fehler geworfen auf einmal beim Abrüsten. Details auf: jarvana.com/jarvana/view/org/seleniumhq/selenium/selenium-java/...
Es stellte sich heraus, was ich gefragt habe hat ziemlich einfache Antwort: nutzen Sie einfach die [TestFixtureTearDown] anstelle von [TearDown] und es wird halten ein einzelnes Fenster für alle Testfälle definiert, die in der gleichen Klasse 🙂
Kommentar-out-Treiber.quit(); in die test-Skripts und es bedingt aufrufen webdriver wie wenn (driver == null) { //code zum aufrufen der gewünschte webdriver} else{ //Tue nichts} ...die tests durchgeführt werden, wird in einzelne session.
InformationsquelleAutor eugene.polschikov
Erweitern zu können, RemoteWebDriver und überschreiben die Methode startSession wie diese:
Fügen Sie diesen code in Ihre Klasse, wo Sie die Treiber.
Das sieht nicht schlecht aus.
InformationsquelleAutor Abhishek_Mishra
Dieser arbeitete für mich in webdriver.io
InformationsquelleAutor citynorman