Ich erstelle ein neues Testprojekt und kann mir nichts anderes überlegen, um mein Problem zu lösen. Ich habe ein anderes Selenium-Projekt, das wie erwartet funktioniert und habe die beiden verglichen, um Unterschiede zu finden. Aber zuerst, das Hauptproblem, auf das ich stoße. Im Setup rufe ich Driver.Navigate () auf. GoToUrl ("www.test.com"); Es wird keine Ausnahme ausgelöst oder sonstwie, die darauf hinweist, dass ein Problem vorliegt. Der Fluss wird nur zur nächsten Anweisung weitergeleitet, aber es wird keine URL in die Navigationsleiste eingegeben. Daher navigiert der Fahrer offensichtlich nie auf eine Seite. Der Treiber startet eine neue Firefox-Instanz, bleibt aber leer.
Wenn ich dieses neue Projekt mit einem bereits laufenden Projekt vergleiche, scheinen sie größtenteils identisch zu sein. Beide Projekte haben ... \ packages \ Selenium.WebDriver.2.37.0 & amp; ... \ packages \ Selenium.Support.2.37.0 installiert mit dem NuGet Paketmanager. Beide Projekte haben identische Referenzen auf das Projekt in der .csproj-Datei - Arbeitsprojekt ... .... \ packages \ Selenium.WebDriver.2.37.0 \ lib \ net40 \ WebDriver.dll Falsch .... \ packages \ Selenium.Support.2.37.0 \ lib \ net40 \ WebDriver.Support.dll
- Unbearbeitetes Projekt ... .. \ packages \ Selenium.WebDriver.2.37.0 \ lib \ net40 \ WebDriver.dll .. \ packages \ Selenium.Support.2.37.0 \ lib \ net40 \ WebDriver.Support.dll
Keines der Projekte macht etwas anderes. Der Konstruktor für beide Aufrufe einfach: var WebDriver = new FirefoxDriver ();
Wenn ich das WebDriver-Objekt untersuche, kann ich nur die WindowsHandles-Eigenschaft sehen. Das Arbeitsprojekt hat: WindowsHandles Count = 1
Das nicht arbeitende Projekt hat: WindowsHandles {System.Collections.ObjectModel.ReadOnlyCollection}
Ich habe keine Ahnung, warum sie anders sind, aber da es der einzige Unterschied ist, den ich finden kann, denke ich, dass das vielleicht das Problem ist, aber ich habe keine Ahnung, ob das wirklich der Fall ist oder wie ich es beheben würde.
Ich habe einen try / catch-Block um den WebDriver.Navigate () hinzugefügt. GoToUrl () und keine Ausnahme wird abgefangen.
Beide Projekte zielen auf das .NET 4.0-Framework ab.
Jede Hilfe ist sehr geeignet.
GD, natürlich finde ich es heraus, nachdem ich endlich zusammengebrochen bin und beschlossen habe, auf stackoverflow zu schreiben. Das Problem ist wie immer dumm dumm; anscheinend bestehen IWebDrivers auf einer übergebenen URL, die mit http beginnt. Sobald ich meine URL mit diesem Präfix versehen hatte, funktionierte es. smh
Hier ist ein einfaches Beispiel:
Add NuGet Paket Selenium.WebDriver
Laden Sie chromedriver ( Ссылка ) oder einen anderen Treiber von Ссылка (Abschnitt Drittanbieter-Browsertreiber, die NICHT von selenehq entwickelt wurden)
Kopieren Sie die Datei in Ihr Projektverzeichnis in Visual Studio und legen Sie die folgenden Eigenschaften für die Datei fest:
Build-Aktion = Keine; In Ausgabeverzeichnis kopieren = Kopieren wenn neuer
Versuchen Sie nach der Installation den folgenden Beispielcode auszuführen:
%Vor%Viel Glück!
Auch
%Vor%mit umgekehrten Schrägstrichen anstelle von Schrägstrichen wird auch nicht funktionieren ... Ich habe gerade eine Stunde gebraucht, um das herauszufinden.
URL-Adresse, muss korrekt mit Schrägstrichen sein.
Einfach auf die URL "http: //" verketten und dieses Problem ist gelöst. o.O. Ich weiß nicht warum, aber dieser Fehler ist gelöst. Mach es einfach!
Tags und Links c# visual-studio-2012 firefox selenium webdriver