Ich teste eine Website mit Specflow
und WebDriver
. Ich verwende Ereignisse von specflow zum Starten und Beenden des Treibers. Ich starte den Treiber in [BeforeFeature]
und beende es in [AfterFeature]
.SpecFlow WebDriver Fehler beim Schließen oder Beenden des WebDrivers
Ich benutze eine statische Common Class, um den Treiber zu halten und die Methoden zu haben, ihn zu betreiben.
Das Problem tritt auf, nachdem alle Tests für ein Feature ausgeführt wurden und das nächste Feature ausgeführt wird. Ich erhalte die folgenden Fehler .:
Wenn im [AfterFeature]
ich einen Driver.Close tun() ich den Fehler:
-> error: Unexpected error. System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:7055
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\HttpCommandExecutor.cs:line 91
at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Execute(Command commandToExecute) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Firefox\Internal\ExtensionConnection.cs:line 128
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(DriverCommand driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs:line 795
Wenn ich einen Driver.Quit tun() ich der Fehler:
-> error: Cannot deserialize JSON object into type 'System.String'. Line 1, position 35.
Wenn ich in der Nähe oder den Fahrer nicht beenden, Alle Funktionen ohne Probleme laufen, aber ich bekomme viele geöffnet Firefox Sie Windows.
Mein Code ist:
[Binding]
public class Events
{
[BeforeFeature]
public static void BeforeFeature()
{
Common.CreateDriver();
}
[AfterFeature]
public static void AfterFeature()
{
Common.QuitDriver();
}
}
Und ...
public static class Common
{
public static IWebDriver Driver { get; set; }
public static void CreateDriver(){
Driver = new FirefoxDriver();
Driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 5));
}
public static void CloseDriver()
{
Driver.Close();
}
public static void QuitDriver()
{
Driver.Quit();
}
}