2017-05-02 3 views
1

Ich bin mir bewusst, dass ich rückwärts durch meine Geschichte navigieren kann mit der IWebDriver.Navigate(). Back() Methode, aber was ist, wenn ich nur die URL der letzten besuchten Seite brauche? Gibt es eine Möglichkeit, das vom WebDriver zu holen, ohne dort tatsächlich zu navigieren?Kann ich in Selen die letzte URL abrufen, ohne sie tatsächlich zu navigieren?

Um klar zu sein, dies ist eine Frage über Selenium WebDriver, und hat nichts mit JavaScript zu tun.

+2

Ich habe in der Vergangenheit Selenium verwendet, und mir ist keine Möglichkeit bekannt, dies zu tun. Ich habe auch die Dokumentation Google überprüft und versucht, etwas mit Intelisense in Visual Studio zu finden, habe aber nichts gefunden. Sie müssten dazu eine Liste (oder einen Stapel) von URLs verwalten. – Gilles

+0

@Gilles - Ja, das gleiche hier. Ich hatte gehofft, das zu vermeiden, aber wenn WebDriver keine Möglichkeit hat, in seine Browse-Geschichte zu schauen, dann werde ich das tun. Danke für Ihr Bemühen! – Syndog

+0

Mögliches Duplikat von [Zugriff auf meinen gesamten Browserverlauf über Javascript] (http://stackoverflow.com/questions/13369829/access-my-entire-browsing-history-via-javascript) – JeffC

Antwort

0

Wie von mehreren vorgeschlagen wurde, wickelte ich den Selenium WebDriver in meiner eigenen Klasse ein, die die gesamte Navigation überwacht und ihre eigene Geschichte behält. Es scheint eine Redundanz zu sein, da irgendwo tief im Inneren von WebDriver eine andere Geschichte existiert, aber da der Tester keinen Zugang dazu hat, sehe ich keinen anderen Weg, dieses Ziel zu erreichen.

Danke an alle, die ihre Gedanken und Vorschläge beigetragen haben!

+0

Ich weiß, es ist ein alter Post, aber können Sie besser erklären, wie Sie das gemacht haben? – hb922

0

Sie können einfach die URL der vorherigen Seite in einer Variablen beibehalten und sie aktualisieren/an den tatsächlichen Code übergeben, der sie benötigt. Sie können sogar eine Sammlung aller besuchten URLs behalten und nur den letzten Eintrag erhalten. All dies wird Ihnen eine Geschichte ohne JS-Hacks geben. Das Speichern und Freigeben von Status ist ein gültiger Fall, der bereits in einigen Frameworks wie SpecFlow ScenarioContext implementiert wurde. Und der vorherige Seiten-URL-Wert steht für alle Schritte/Codes für jeden Test zur Verfügung.

Verwandte Themen