Ich führe mehrere Tests in einem Selenium-Grid durch, das mehrere Knoten enthält, unter Verwendung eines dynamisch erstellten Firefox-Profils wie folgt:
%Vor%Aber jedes Mal, wenn der Hub einen Knoten mit einer zuvor ausgeführten Firefox-Instanz aufruft, verwendet er dasselbe Profil und löscht die zuvor ausgeführte Sitzung. Dies geschieht, weil die Anwendung dieselben Cookies für Authentifizierungszwecke verwendet.
Gibt es eine Möglichkeit, selen grid zu zwingen, ein neues Profil im laufenden Betrieb zu erstellen und eine völlig neue firefox-Instanz zu erhalten?
Um den Hub zu starten, verwende ich momentan die folgende Befehlszeile
%Vor%Und um Knoten zu starten, benutze ich
%Vor%Das Seltsame ist, dass wenn ich einen eigenständigen Selenium-Server aufstelle, er mehrere Firefox-Instanzen erstellt, wie ich es gerne wäre ...
Ich führe mehrere Tests über ein Selenium-Gitter mit einem mehrere Knoten, mit einem dynamisch erstellten Firefox-Profil, wie dies
Schützen Sie Ihre Variablen? Es ist so, als hätten Sie eine Klasseninstanz wiederverwendet.
spl_object_hash()
könnte Ihnen hier helfen. Es
gibt eine eindeutige ID für das Objekt zurück
was für eine gegebene Instanz immer gleich ist.
PS:
Versuchen Sie, sie zu trennen & amp; Benutze Unittests / benutze die in PHPUnit /:
verfügbaren Fixtures%Vor%
In diesem Beispiel wird nicht der gleiche $ -Treiber zwischen FirefoxTest und XXXTest verwendet, aber das wird empfohlen, da Sie für jeden Test eine saubere Liste wünschen.
Aber alle Tests in FirefoxTest teilen denselben Treiber. Die Ausführungsreihenfolge von Tests bei "phpunit-Tests" lautet: setUpBeforeClass ()
%Vor%ein bisschen mehr über Armaturen