public ApplicationManager(ICapabilities capabilities, string baseUrl, string hubUrl)
        {
            Pages = new PageManager(capabilities, baseUrl, hubUrl);

            Auth = new LoginHelper(this);
            Navigator = new NavigationHelper(this);
        }
Example #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DriverSession"/> class.
 /// </summary>
 /// <param name="factory">The <see cref="DriverFactory"/> responsible for creating the <see cref="IWebDriver"/> for the session.</param>
 /// <param name="capabilities">The capabilities of the driver of the session.</param>
 internal DriverSession(DriverFactory factory, ICapabilities capabilities)
 {
     this.sessionDriver = factory.CreateDriverInstance(capabilities);
     DesiredCapabilities actualSessionCapabilities = new DesiredCapabilities(capabilities.BrowserName, capabilities.Version, Platform.CurrentPlatform);
     actualSessionCapabilities.IsJavaScriptEnabled = true;
     this.sessionCapabilities = actualSessionCapabilities;
 }
        private static IWebDriver CreateLocalDriver(ICapabilities capabilities)
        {
            // Implementation is incomplete: the capabilities are not converted to the options
            string browserType = capabilities.BrowserName;
            if (browserType == DesiredCapabilities.Firefox().BrowserName)
            {
                //return new FirefoxDriver();
                return new FirefoxDriver(new FirefoxBinary(), new FirefoxProfile(), TimeSpan.FromSeconds(51));
            }
            if (browserType == DesiredCapabilities.InternetExplorer().BrowserName)
            {
                return new InternetExplorerDriver();

            }
            if (browserType == DesiredCapabilities.Chrome().BrowserName)
            {
                //return new ChromeDriver();
                //return new ChromeDriver(ChromeDriverService.CreateDefaultService(),new ChromeOptions(),TimeSpan.FromMinutes(2));
                return new ChromeDriver(ChromeDriverService.CreateDefaultService(), new ChromeOptions(), TimeSpan.FromSeconds(55));
            }
            if (browserType == DesiredCapabilities.Safari().BrowserName)
            {
                return new SafariDriver();
            }
            if (browserType == DesiredCapabilities.PhantomJS().BrowserName)
            {
                return new PhantomJSDriver();
            }

            throw new Exception("Unrecognized browser type: " + browserType);
        }
 public TestWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities)
     : base(remoteAddress, desiredCapabilities)
 {
     CommandInfoRepository.Instance.TryAddCommand(
         GetDataGridCellCommand,
         new CommandInfo("POST", "/session/{sessionId}/element/{id}/datagrid/cell/{row}/{column}"));
 }
        private static IWebDriver CreateLocalDriver(ICapabilities capabilities)
        {
            // Implementation is incomplete: the capabilities are not converted to the options
            string browserType = capabilities.BrowserName;
            if (browserType == DesiredCapabilities.Firefox().BrowserName)
            {
                return new FirefoxDriver();
            }
            if (browserType == DesiredCapabilities.InternetExplorer().BrowserName)
            {
                return new InternetExplorerDriver();
            }
            if (browserType == DesiredCapabilities.Chrome().BrowserName)
            {
                return new ChromeDriver();
            }
            if (browserType == DesiredCapabilities.Safari().BrowserName)
            {
                return new SafariDriver();
            }
            if (browserType == DesiredCapabilities.PhantomJS().BrowserName)
            {
                return new PhantomJSDriver();
            }

            throw new Exception("Unrecognized browser type: " + browserType);
        }
 private void CreateNewDriver(ICapabilities capabilities)
 {
     string newKey = CreateKey(capabilities);
     IWebDriver driver = CreateLocalDriver(capabilities);
     driverToKeyMap.Add(driver, newKey);
     threadLocalDriver.Value = driver;
 }
Example #7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RemoteWebDriver"/> class
        /// </summary>
        /// <param name="commandExecutor">An <see cref="ICommandExecutor"/> object which executes commands for the driver.</param>
        /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities of the browser.</param>
        public RemoteWebDriver(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
        {
            this.executor = commandExecutor;
            this.StartClient();
            this.StartSession(desiredCapabilities);
            this.mouse = new RemoteMouse(this);
            this.keyboard = new RemoteKeyboard(this);

            if (this.capabilities.HasCapability(CapabilityType.SupportsApplicationCache))
            {
                object appCacheCapability = this.capabilities.GetCapability(CapabilityType.SupportsApplicationCache);
                if (appCacheCapability is bool && (bool)appCacheCapability)
                {
                    this.appCache = new RemoteApplicationCache(this);
                }
            }

            if (this.capabilities.HasCapability(CapabilityType.SupportsLocationContext))
            {
                object locationContextCapability = this.capabilities.GetCapability(CapabilityType.SupportsLocationContext);
                if (locationContextCapability is bool && (bool)locationContextCapability)
                {
                this.locationContext = new RemoteLocationContext(this);
                }
            }

            if (this.capabilities.HasCapability(CapabilityType.SupportsWebStorage))
            {
                object webContextCapability = this.capabilities.GetCapability(CapabilityType.SupportsWebStorage);
                if (webContextCapability is bool && (bool)webContextCapability)
                {
                    this.storage = new RemoteWebStorage(this);
                }
            }
        }
Example #8
0
        public Application(ICapabilities capabilities, string baseUrl, string hubUrl)
        {
            Pages = new PagesCollection(capabilities, baseUrl, hubUrl);

            // 2 - привязываем действие к отсылке
            //Auth = new AuthorizationModul(Pages);
            Sous = new SourceTopathlete(Pages);
        }
 /// <summary>
 /// Initializes a new instance of the RemoteWebDriver class
 /// </summary>
 /// <param name="commandExecutor">An <see cref="ICommandExecutor"/> object which executes commands for the driver.</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities of the browser.</param>
 public RemoteWebDriver(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
 {
     this.executor = commandExecutor;
     this.StartClient();
     this.StartSession(desiredCapabilities);
     this.mouse = new RemoteMouse(this);
     this.keyboard = new RemoteKeyboard(this);
 }
 public void Clear()
 {
     _textBoxURL.Text = null;
     _textBoxVersion.Text = null;
     _treeViewServerLayers.EnabledChanged -= new EventHandler(_treeViewServerLayers_EnabledChanged);
     _treeViewServerLayers.AfterSelect -= new TreeViewEventHandler(_treeViewServerLayers_AfterSelect);
     _treeViewServerLayers.Nodes.Clear();
     _treeViewServerLayers.Enabled = false;
     _comboBoxImageFormat.Items.Clear();
     _comboBoxImageFormat.Enabled = false;
     _layerState.Clear();
     _capabilities = null;
 }
 public void Set(ICapabilities capabilities)
 {
     Clear();
     _capabilities = capabilities;
     if (null != _capabilities)
     {
         _textBoxURL.Text = _capabilities.CapabilitiesRequestUrl;
         _textBoxVersion.Text = _capabilities.Version;
         _treeViewServerLayers.AfterSelect += new TreeViewEventHandler(_treeViewServerLayers_AfterSelect);
         _treeViewServerLayers.EnabledChanged += new EventHandler(_treeViewServerLayers_EnabledChanged);
         LoadLayerList();
         LoadImageFormats();
     }
 }
        public TestWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities)
            : base(remoteAddress, desiredCapabilities)
        {
            CommandInfoRepository.Instance.TryAddCommand(
                FindDataGridCellCommand,
                new CommandInfo("POST", "/session/{sessionId}/element/{id}/datagrid/cell/{row}/{column}"));

            CommandInfoRepository.Instance.TryAddCommand(
                GetDataGridColumnCountCommand,
                new CommandInfo("POST", "/session/{sessionId}/element/{id}/datagrid/column/count"));

            CommandInfoRepository.Instance.TryAddCommand(
                GetDataGridRowCountCommand,
                new CommandInfo("POST", "/session/{sessionId}/element/{id}/datagrid/row/count"));

            CommandInfoRepository.Instance.TryAddCommand(
                ScrollToDataGridCellCommand,
                new CommandInfo("POST", "/session/{sessionId}/element/{id}/datagrid/scroll/{row}/{column}"));

            CommandInfoRepository.Instance.TryAddCommand(
                SelectDataGridCellCommand,
                new CommandInfo("POST", "/session/{sessionId}/element/{id}/datagrid/select/{row}/{column}"));

            CommandInfoRepository.Instance.TryAddCommand(
                IsComboBoxExpandedCommand,
                new CommandInfo("POST", "/session/{sessionId}/element/{id}/combobox/expanded"));

            CommandInfoRepository.Instance.TryAddCommand(
                ExpandComboBoxCommand,
                new CommandInfo("POST", "/session/{sessionId}/element/{id}/combobox/expand"));

            CommandInfoRepository.Instance.TryAddCommand(
                CollapseComboBoxCommand,
                new CommandInfo("POST", "/session/{sessionId}/element/{id}/combobox/collapse"));

            CommandInfoRepository.Instance.TryAddCommand(
                FindComboBoxSelctedItemCommand,
                new CommandInfo("POST", "/session/{sessionId}/element/{id}/combobox/items/selected"));

            CommandInfoRepository.Instance.TryAddCommand(
                FindMenuItemCommand,
                new CommandInfo("POST", "/session/{sessionId}/element/{id}/menu/item/{path}"));

            CommandInfoRepository.Instance.TryAddCommand(
                SelectMenuItemCommand,
                new CommandInfo("POST", "/session/{sessionId}/element/{id}/menu/select/{path}"));
        }
Example #13
0
        public AppManager(ICapabilities capabilities, string baseUrl, string hubUrl)
        {
            Pages = new PageManager(capabilities, baseUrl, hubUrl);

            userHelper = new UserHelper(this);
            employeeHelper = new EmployeeHelper(this);
            timeoffHelper = new TimeOffHelper(this);
            imageHelper = new ImageHelper(this);
            screenHelper = new ScreenHelper(this);
            assetHelper = new AssetHelper(this);
            filterHelper = new FilterHelper(this);
            hiringHelper = new HiringHelper(this);
            emailHeper = new EmailHelper(this);
            kpiHelper = new KPIHelper(this);
            hintHelper = new HintHelper(this);
            commentHelper = new CommentHelper(this);
        }
 private static IWebDriver CreateLocalDriver(ICapabilities capabilities)
 {
     string browserType = capabilities.BrowserName;
     if (browserType == DesiredCapabilities.Firefox().BrowserName)
     {
         return new FirefoxDriver();
     }
     if (browserType == DesiredCapabilities.InternetExplorer().BrowserName)
     {
         return new InternetExplorerDriver();
     }
     if (browserType == DesiredCapabilities.Chrome().BrowserName)
     {
         return new ChromeDriver();
     }
     throw new Exception("Unrecognized browser type: " + browserType);
 }
Example #15
0
        /// <summary>
        /// Creates an instance of an <see cref="IWebDriver"/> most closely matching the specified capabilities.
        /// </summary>
        /// <param name="capabilities">An <see cref="ICapabilities"/> object describing the desired capabilities for the driver to be created.</param>
        /// <returns>An instance of an <see cref="IWebDriver"/> most closely matching the specified capabilities.</returns>
        internal IWebDriver CreateDriverInstance(ICapabilities capabilities)
        {
            Type driverType = this.GetBestMatchForCapabilities(capabilities);

            try
            {
                return (IWebDriver)Activator.CreateInstance(driverType);
            }
            catch (TargetInvocationException e)
            {
                throw new WebDriverException(e.Message, e);
            }
            catch (MethodAccessException e)
            {
                throw new WebDriverException(e.Message, e);
            }
        }
Example #16
0
        private Type GetBestMatchForCapabilities(ICapabilities desired)
        {
            int numberOfFieldsMatched = 0;
            Type bestMatch = null;

            foreach (ICapabilities entry in this.knownDrivers.Keys)
            {
                int count = 0;
                if (Matches(entry.BrowserName, desired.BrowserName))
                {
                    count++;
                }

                if (Matches(entry.Version, desired.Version))
                {
                    count++;
                }

                if (entry.IsJavaScriptEnabled == entry.IsJavaScriptEnabled)
                {
                    count++;
                }

                Platform capPlatform = entry.Platform;
                Platform desiredPlatform = desired.Platform;
                if (capPlatform != null && desiredPlatform != null)
                {
                    if (capPlatform.IsPlatformType(desiredPlatform.PlatformType))
                    {
                        count++;
                    }
                }

                if (count > numberOfFieldsMatched)
                {
                    numberOfFieldsMatched = count;
                    bestMatch = this.knownDrivers[entry];
                }
            }

            return bestMatch;
        }
        private IWebDriver __GetDriver(string hub, ICapabilities capabilities)
        {
            string newKey = CreateKey(capabilities, hub);

            if (!threadLocalDriver.IsValueCreated)
            {
                CreateNewDriver(capabilities, hub);
            }
            else
            {
                IWebDriver currentDriver = threadLocalDriver.Value;
                string currentKey = null;
                if (!driverToKeyMap.TryGetValue(currentDriver, out currentKey))
                {
                    // The driver was dismissed
                    CreateNewDriver(capabilities, hub);
                }
                else
                {
                    if (newKey != currentKey)
                    {
                        // A different flavour of WebDriver is required
                        __DismissDriver(currentDriver);
                        CreateNewDriver(capabilities, hub);
                    }
                    else
                    {
                        // Check the browser is alive
                        try
                        {
                            string currentUrl = currentDriver.Url;
                        }
                        catch (WebDriverException)
                        {
                            CreateNewDriver(capabilities, hub);
                        }
                    }
                }
            }
            return threadLocalDriver.Value;
        }
Example #18
0
 private FirefoxDriver(FirefoxBinary binary, FirefoxProfile profile, ICapabilities capabilities, TimeSpan commandTimeout)
     : base(CreateExtensionConnection(binary, profile, commandTimeout), RemoveUnneededCapabilities(capabilities))
 {
     this.binary = binary;
     this.profile = profile;
 }
Example #19
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FirefoxDriver"/> class for a given set of capabilities.
 /// </summary>
 /// <param name="capabilities">The <see cref="ICapabilities"/> object containing the desired
 /// capabilities of this FirefoxDriver.</param>
 public FirefoxDriver(ICapabilities capabilities)
     : this(ExtractBinary(capabilities), ExtractProfile(capabilities), capabilities, RemoteWebDriver.DefaultCommandTimeout)
 {
 }
Example #20
0
 private FirefoxDriver(FirefoxBinary binary, FirefoxProfile profile, ICapabilities capabilities, TimeSpan commandTimeout) : base(FirefoxDriver.CreateExtensionConnection(binary, profile, commandTimeout), FirefoxDriver.RemoveUnneededCapabilities(capabilities))
 {
     this.binary  = binary;
     this.profile = profile;
 }
 protected static string CreateKey(ICapabilities capabilities, string hub)
 {
     return(capabilities.ToString() + ":" + hub);
 }
Example #22
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RemoteWebDriver"/> class
 /// </summary>
 /// <param name="remoteAddress">URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4444/wd/hub).</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities of the browser.</param>
 public RemoteWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities)
     : this(remoteAddress, desiredCapabilities, RemoteWebDriver.DefaultCommandTimeout)
 {
 }
Example #23
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);
        }
Example #24
0
 private static ICapabilities RemoveUnneededCapabilities(ICapabilities capabilities)
 {
     DesiredCapabilities caps = capabilities as DesiredCapabilities;
     caps.CapabilitiesDictionary.Remove(FirefoxDriver.ProfileCapabilityName);
     caps.CapabilitiesDictionary.Remove(FirefoxDriver.BinaryCapabilityName);
     return caps;
 }
Example #25
0
 public TouchCapableRemoteWebDriver(ICapabilities desiredCapabilities)
     : base(desiredCapabilities)
 {
     TouchScreen = new RemoteTouchScreen(this);
 }
Example #26
0
 public TouchCapableRemoteWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities)
     : base(remoteAddress, desiredCapabilities)
 {
     TouchScreen = new RemoteTouchScreen(this);
 }
Example #27
0
 public WebAutomation(System.Uri driverServer, ICapabilities capabilities)
 {
     Driver = new RemoteWebDriver(driverServer, capabilities);
     Init();
 }
Example #28
0
 public TouchCapableRemoteWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities, TimeSpan commandTimeout)
     : base(remoteAddress, desiredCapabilities, commandTimeout)
 {
     TouchScreen = new RemoteTouchScreen(this);
 }
Example #29
0
 public TouchCapableRemoteWebDriver(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
     : base(commandExecutor, desiredCapabilities)
 {
     TouchScreen = new RemoteTouchScreen(this);
 }
Example #30
0
 public FirefoxDriver(ICapabilities capabilities) : this(FirefoxDriver.ExtractBinary(capabilities), FirefoxDriver.ExtractProfile(capabilities), capabilities, RemoteWebDriver.DefaultCommandTimeout)
 {
 }
Example #31
0
        private static FirefoxBinary ExtractBinary(ICapabilities capabilities)
        {
            if (capabilities.GetCapability(BinaryCapabilityName) != null)
            {
                string file = capabilities.GetCapability(BinaryCapabilityName).ToString();
                return new FirefoxBinary(file);
            }

            return new FirefoxBinary();
        }
 private IWebDriver __GetDriver(ICapabilities capabilities)
 {
     return(__GetDriver(null, capabilities));
 }
Example #33
0
        private static FirefoxProfile ExtractProfile(ICapabilities capabilities)
        {
            FirefoxProfile profile = new FirefoxProfile();
            if (capabilities.GetCapability(ProfileCapabilityName) != null)
            {
                object raw = capabilities.GetCapability(ProfileCapabilityName);
                FirefoxProfile rawAsProfile = raw as FirefoxProfile;
                string rawAsString = raw as string;
                if (rawAsProfile != null)
                {
                    profile = rawAsProfile;
                }
                else if (rawAsString != null)
                {
                    try
                    {
                        profile = FirefoxProfile.FromBase64String(rawAsString);
                    }
                    catch (IOException e)
                    {
                        throw new WebDriverException("Unable to create profile from specified string", e);
                    }
                }
            }

            if (capabilities.GetCapability(CapabilityType.Proxy) != null)
            {
                Proxy proxy = null;
                object raw = capabilities.GetCapability(CapabilityType.Proxy);
                Proxy rawAsProxy = raw as Proxy;
                Dictionary<string, object> rawAsMap = raw as Dictionary<string, object>;
                if (rawAsProxy != null)
                {
                    proxy = rawAsProxy;
                }
                else if (rawAsMap != null)
                {
                    proxy = new Proxy(rawAsMap);
                }

                profile.SetProxyPreferences(proxy);
            }

            if (capabilities.GetCapability(CapabilityType.AcceptSslCertificates) != null)
            {
                bool acceptCerts = (bool)capabilities.GetCapability(CapabilityType.AcceptSslCertificates);
                profile.AcceptUntrustedCertificates = acceptCerts;
            }

            return profile;
        }
 public static IWebDriver GetDriver(ICapabilities capabilities)
 {
     return(FactoryInstance.__GetDriver(capabilities));
 }
 private static IWebDriver CreateRemoteDriver(string hub, ICapabilities capabilities)
 {
     return(new RemoteWebDriver(new Uri(hub), capabilities));
 }
 public static IWebDriver GetDriver(string hub, ICapabilities capabilities)
 {
     return(FactoryInstance.__GetDriver(hub, capabilities));
 }
Example #37
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RemoteWebDriver"/> class. This constructor defaults proxy to http://127.0.0.1:4444/wd/hub
 /// </summary>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities of the browser.</param>
 public RemoteWebDriver(ICapabilities desiredCapabilities)
     : this(new Uri("http://127.0.0.1:4444/wd/hub"), desiredCapabilities)
 {
 }
Example #38
0
 /// <summary>
 /// Initializes a new instance of the RemoteWebDriver class
 /// </summary>
 /// <param name="remoteAddress">URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4444/wd/hub).</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities of the browser.</param>
 public RemoteWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities)
     : this(remoteAddress, desiredCapabilities, TimeSpan.FromSeconds(60))
 {
 }
Example #39
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RemoteWebDriver"/> class using the specified remote address, desired capabilities, and command timeout.
 /// </summary>
 /// <param name="remoteAddress">URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4444/wd/hub).</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities of the browser.</param>
 /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param>
 public RemoteWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities, TimeSpan commandTimeout)
     : this(new HttpCommandExecutor(remoteAddress, commandTimeout), desiredCapabilities)
 {
 }
Example #40
0
 /// <summary>
 /// Initializes a new instance of the RemoteWebDriver class
 /// </summary>
 /// <param name="commandExecutor">An <see cref="ICommandExecutor"/> object which executes commands for the driver.</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities of the browser.</param>
 public RemoteWebDriver(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
 {
     this.executor = commandExecutor;
     this.StartClient();
     this.StartSession(desiredCapabilities);
 }
Example #41
0
 public ScreenShotRemoteWebDriver(Uri RemoteAdress, ICapabilities capabilities)
     : base(RemoteAdress, capabilities)
 {
 }
Example #42
0
 public AppiumDriver(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
     : base(commandExecutor, desiredCapabilities)
 {
     AppiumCommand.Merge(commandExecutor.CommandInfoRepository);
 }
Example #43
0
 //public RemoteWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities)
 public FakeRemoteWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities)
     : base(remoteAddress, desiredCapabilities)
 {
 }
Example #44
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ResourceNotFoundException"/> class.
 /// </summary>
 /// <param name="requiredCapabilities">The required capabilities.</param>
 public ResourceNotFoundException(ICapabilities requiredCapabilities)
     : base(string.Format(Strings.ResourceNotFoundException_ByCapabilities_Message, requiredCapabilities))
 {
 }