2012-05-23 3 views
5

Ich benutze Selen-Webdriver (php-webdriver-bindings Yii-Erweiterung) und ich versuche, den Browser sessionId zu bekommen (die, die der Test verwenden wird). Ich dachte, ich könnte das über den Webdriver bekommen, aber das scheint nicht der Fall zu sein. Webdriver hat eine sessionId, aber das ist nicht die, die der Test Browser verwendet.Wie bekomme ich browser sessionId mit Selenium webdriver

Ich versuche mich einzuloggen, bevor der Test läuft, damit meine Tests authentifizierte Benutzer sind, die ihnen erlauben, auf die Seiten zuzugreifen, die ich gerade teste.

Ich recherchiere und teste dies seit ein paar Tagen und ich bin ratlos. Jede Hilfe würde sehr geschätzt werden.

Danke.

+0

Die Klasse RemoteWebDriver hat eine getSessionId() - Methode, aber ich bin mir sicher, dass Sie nicht danach suchen. Ich habe versucht, ein reines WebDriver-Projekt zu machen und bemerkte auch, dass WebDriver diese Methode nicht hatte. Ich bin nicht sicher, was die "WebDriver-Methode" dafür ist ... – djangofan

+0

Ich bin nicht 100% klar, was Sie brauchen basierend auf Ihrer Frage, aber die Methode .hashCode() zeigt den eindeutigen Hashcode des Webdrivers, und es ist für meine Bedürfnisse geeignet. – gorbysbm

Antwort

0

ich dieses Problem in Java hatte, aber bei näherer Betrachtung des Quellcodes bemerkt, dass der Fahrer, den ich als WebDriver Objekt instanziiert wurde verwendet. Nach dem Ändern in ein RemoteWebDriver Objekt wurde die .getSessionId() Methode verfügbar gemacht, und driver.getSessionId() gab die Sitzungs-ID wie erwartet zurück.

Ich bin nicht sicher, wie das in PHP übersetzen würde, aber ich würde empfehlen, zurück zu gehen und zu überprüfen, dass Ihr Treiber ein RemoteWebDriver Objekt ist, anstatt ein WebDriver Objekt.

Verwandte Themen