/// <summary> /// Initializes a new instance of the Response class /// </summary> /// <param name="sessionId">Session ID in use</param> public Response(SessionId sessionId) { if (sessionId != null) { this.responseSessionId = sessionId.ToString(); } }
/// <summary> /// Initializes a new instance of the Command class for a Session /// </summary> /// <param name="sessionId">Session ID the driver is using</param> /// <param name="name">Name of the command</param> /// <param name="parameters">Parameters for that command</param> public Command(SessionId sessionId, DriverCommand name, Dictionary<string, object> parameters) { commandSessionId = sessionId; if (parameters != null) { commandParameters = parameters; } commandName = name; }
/// <summary> /// Initializes a new instance of the Command class for a Session /// </summary> /// <param name="sessionId">Session ID the driver is using</param> /// <param name="name">Name of the command</param> /// <param name="parameters">Parameters for that command</param> public Command(SessionId sessionId, string name, Dictionary<string, object> parameters) { this.commandSessionId = sessionId; if (parameters != null) { this.commandParameters = parameters; } this.commandName = name; }
/// <summary> /// Starts a session with the driver /// </summary> /// <param name="desiredCapabilities">Capabilities of the browser</param> protected void StartSession(ICapabilities desiredCapabilities) { DesiredCapabilities capabilitiesObject = desiredCapabilities as DesiredCapabilities; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("desiredCapabilities", capabilitiesObject.CapabilitiesDictionary); Response response = this.Execute(DriverCommand.NewSession, parameters); Dictionary<string, object> rawCapabilities = (Dictionary<string, object>)response.Value; DesiredCapabilities returnedCapabilities = new DesiredCapabilities(rawCapabilities); this.capabilities = returnedCapabilities; this.sessionId = new SessionId(response.SessionId); }
/// <summary> /// Stops the client from running /// </summary> /// <param name="disposing">if its in the process of disposing</param> protected virtual void Dispose(bool disposing) { try { this.Execute(DriverCommand.Quit, null); } catch (NotImplementedException) { } catch (InvalidOperationException) { } catch (WebDriverException) { } finally { this.StopClient(); this.sessionId = null; } }
/// <summary> /// Close the Browser and Dispose of WebDriver /// </summary> public void Quit() { try { this.Execute(DriverCommand.Quit, null); } catch (NotImplementedException) { } catch (InvalidOperationException) { } catch (WebDriverException) { } finally { this.Dispose(); this.sessionId = null; } }
/// <summary> /// </summary> /// <param name="remoteHost"> </param> /// <param name="sid"> Current seesion Id</param> /// <returns> host name</returns> public string GetNodeHost(Uri remoteHost, SessionId sid) { var uri = new Uri(string.Format("http://{0}:{1}/grid/api/testsession?session={2}", remoteHost.Host, remoteHost.Port, sid)); var request = (HttpWebRequest)WebRequest.Create(uri); request.Method = "POST"; request.ContentType = "application/json"; using (var httpResponse = (HttpWebResponse)request.GetResponse()) using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var response = JObject.Parse(streamReader.ReadToEnd()); return response.SelectToken("proxyId").ToString(); } }
/// <summary> /// Starts a session with the driver /// </summary> /// <param name="desiredCapabilities">Capabilities of the browser</param> protected void StartSession(ICapabilities desiredCapabilities) { Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("desiredCapabilities", desiredCapabilities); Response response = this.Execute(DriverCommand.NewSession, parameters); Dictionary<string, object> rawCapabilities = (Dictionary<string, object>)response.Value; string browser = (string)rawCapabilities["browserName"]; string version = (string)rawCapabilities["version"]; Platform platform; if (rawCapabilities.ContainsKey("platform")) { platform = new Platform((PlatformType)Enum.Parse(typeof(PlatformType), (string)rawCapabilities["platform"], true)); } else { platform = new Platform(PlatformType.Any); } DesiredCapabilities returnedCapabilities = new DesiredCapabilities(browser, version, platform); returnedCapabilities.IsJavaScriptEnabled = (bool)rawCapabilities["javascriptEnabled"]; returnedCapabilities.Platform = platform; this.capabilities = returnedCapabilities; this.sessionId = new SessionId(response.SessionId); }
/// <summary> /// Stops the client from running /// </summary> /// <param name="disposing">if its in the process of disposing</param> protected virtual void Dispose(bool disposing) { this.sessionId = null; this.StopClient(); }
/// <summary> /// Starts a session with the driver /// </summary> /// <param name="desiredCapabilities">Capabilities of the browser</param> protected void StartSession(ICapabilities desiredCapabilities) { Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("desiredCapabilities", desiredCapabilities); Response response = Execute(DriverCommand.NewSession, parameters); Dictionary<string, object> rawCapabilities = (Dictionary<string, object>)response.Value; // JEO: For some reason they wrote the code for detecting the browser, but didn't push it into capabilies DesiredCapabilities returnedCapabilities = new DesiredCapabilities(rawCapabilities); /* string browser = (string)rawCapabilities["browserName"]; returnedCapabilities.BrowserName = browser; string version = (string)rawCapabilities["version"]; Platform platform; if (rawCapabilities.ContainsKey("platform")) { platform = new Platform((PlatformType)Enum.Parse(typeof(PlatformType), (string)rawCapabilities["platform"], true)); } else { platform = new Platform(PlatformType.Any); } returnedCapabilities.IsJavaScriptEnabled = (bool)rawCapabilities["javascriptEnabled"]; returnedCapabilities.Platform = platform; */ capabilities = returnedCapabilities; sessionId = new SessionId(response.SessionId); }
/// <summary> /// Starts a session with the driver /// </summary> /// <param name="desiredCapabilities">Capabilities of the browser</param> protected void StartSession(ICapabilities desiredCapabilities) { Response response = Execute(DriverCommand.NewSession, new object[] { desiredCapabilities }); Dictionary<string, object> rawCapabilities = (Dictionary<string, object>)response.Value; string browser = (string)rawCapabilities["browserName"]; string version = (string)rawCapabilities["version"]; Platform platform; if (rawCapabilities.ContainsKey("operatingSystem")) { platform = new Platform((PlatformType)Enum.Parse(typeof(PlatformType), (string)rawCapabilities["operatingSystem"], true)); } else { platform = new Platform((PlatformType)Enum.Parse(typeof(PlatformType), (string)rawCapabilities["platform"], true)); } DesiredCapabilities returnedCapabilities = new DesiredCapabilities(browser, version, platform); returnedCapabilities.IsJavaScriptEnabled = (bool)rawCapabilities["javascriptEnabled"]; capabilities = returnedCapabilities; sessionId = new SessionId(response.SessionId); }