Provides a mechanism for maintaining a session for a test
示例#1
0
 /// <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();
     }
 }
示例#2
0
        /// <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;
        }
示例#3
0
文件: Command.cs 项目: nkgwj/selenium
        /// <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;
        }
示例#4
0
        /// <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);
        }
示例#5
0
 /// <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;
     }
 }
示例#6
0
 /// <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;
     }
 }
示例#7
0
        /// <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);
        }
示例#11
0
        /// <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);
        }