public ApplicationManager(ICapabilities capabilities, string baseUrl, string hubUrl) { Pages = new PageManager(capabilities, baseUrl, hubUrl); Auth = new LoginHelper(this); Navigator = new NavigationHelper(this); }
/// <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; }
/// <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); } } }
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}")); }
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); }
/// <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); } }
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; }
private FirefoxDriver(FirefoxBinary binary, FirefoxProfile profile, ICapabilities capabilities, TimeSpan commandTimeout) : base(CreateExtensionConnection(binary, profile, commandTimeout), RemoveUnneededCapabilities(capabilities)) { this.binary = binary; this.profile = profile; }
/// <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) { }
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); }
/// <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) { }
/// <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); }
private static ICapabilities RemoveUnneededCapabilities(ICapabilities capabilities) { DesiredCapabilities caps = capabilities as DesiredCapabilities; caps.CapabilitiesDictionary.Remove(FirefoxDriver.ProfileCapabilityName); caps.CapabilitiesDictionary.Remove(FirefoxDriver.BinaryCapabilityName); return caps; }
public TouchCapableRemoteWebDriver(ICapabilities desiredCapabilities) : base(desiredCapabilities) { TouchScreen = new RemoteTouchScreen(this); }
public TouchCapableRemoteWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities) : base(remoteAddress, desiredCapabilities) { TouchScreen = new RemoteTouchScreen(this); }
public WebAutomation(System.Uri driverServer, ICapabilities capabilities) { Driver = new RemoteWebDriver(driverServer, capabilities); Init(); }
public TouchCapableRemoteWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities, TimeSpan commandTimeout) : base(remoteAddress, desiredCapabilities, commandTimeout) { TouchScreen = new RemoteTouchScreen(this); }
public TouchCapableRemoteWebDriver(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) : base(commandExecutor, desiredCapabilities) { TouchScreen = new RemoteTouchScreen(this); }
public FirefoxDriver(ICapabilities capabilities) : this(FirefoxDriver.ExtractBinary(capabilities), FirefoxDriver.ExtractProfile(capabilities), capabilities, RemoteWebDriver.DefaultCommandTimeout) { }
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)); }
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)); }
/// <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) { }
/// <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)) { }
/// <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) { }
/// <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); }
public ScreenShotRemoteWebDriver(Uri RemoteAdress, ICapabilities capabilities) : base(RemoteAdress, capabilities) { }
public AppiumDriver(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) : base(commandExecutor, desiredCapabilities) { AppiumCommand.Merge(commandExecutor.CommandInfoRepository); }
//public RemoteWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities) public FakeRemoteWebDriver(Uri remoteAddress, ICapabilities desiredCapabilities) : base(remoteAddress, desiredCapabilities) { }
/// <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)) { }