/// <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; }
/// <summary> /// Initializes a new instance of the <see cref="NewSessionHandler"/> class. /// </summary> /// <param name="locatorParameters">A <see cref="Dictionary{K, V}"/> containing the parameters used to match a resource in the URL.</param> /// <param name="parameters">A <see cref="Dictionary{K, V}"/> containing the parameters used to operate on the resource.</param> public NewSessionHandler(Dictionary<string, string> locatorParameters, Dictionary<string, object> parameters) : base(locatorParameters, parameters) { Dictionary<string, object> capabilitiesDictionary = GetCommandParameter("desiredCapabilities") as Dictionary<string, object>; if (capabilitiesDictionary == null) { throw new InvalidParameterException("Parameter 'desiredCapabilities' is not a dictionary"); } try { this.capabilities = new DesiredCapabilities(capabilitiesDictionary); } catch (Exception ex) { throw new InvalidParameterException("Error found parsing parameter 'desiredCapabilities': " + ex.Message, ex); } }
public WebDriverFactory(SauceLabsCapabilities sauceConfig) { _sauceCustomCapabilities = sauceConfig; _desiredCapabilities = new DesiredCapabilities(); }
public abstract void InitialiseDriver(DesiredCapabilities caps, int waitSecs);
public void VerificarSeMultiClubesEstaAbertoELogado() { try { // verificando se o processo já está em execução Process[] processlist = Process.GetProcesses(); // variavel para verificar se o MultiClubes está aberto (por padrão, é falso) bool openedMultiClubes = false; bool OpenedWiniumDriver = false; foreach (Process process in processlist) { if (!String.IsNullOrEmpty(process.MainWindowTitle)) { //a linha abaixo, que está comentada, mostra todos os processos em execução //Console.WriteLine("Process: {0} | ID: {1} | Window title: {2}", process.ProcessName, process.Id, process.MainWindowTitle); if (process.MainWindowTitle.Contains("MultiClubes")) { // se for identificado algum processo em que o título contenha "MultiClubes", a variavel recebe True openedMultiClubes = true; } else if (process.MainWindowTitle.Contains("Winium.Desktop.Driver.exe")) { OpenedWiniumDriver = true; } } } if (!OpenedWiniumDriver) { //Console.WriteLine("Winium Driver fechado {0}", OpenedWiniumDriver); Process.Start("C:/TestesAutomatizados/" + "Winium.Desktop.Driver.exe"); } var dc = new DesiredCapabilities(); dc.SetCapability("app", @"\\tsidev\Triade\Application\Dev\MultiClubes\System\MultiClubes\MultiClubes.UI.application"); // se a variavel estiver como falso, entra nessa condição que abre o MultiClubes if (openedMultiClubes) { dc.SetCapability("debugConnectToRunningApp", true); } driver = new RemoteWebDriver(new Uri("http://localhost:9999"), dc); CheckMCWindow(); //int counter = 0; if (!openedMultiClubes) { //while (counter < 50) //{ // if (driver.FindElements(By.Id("textBoxPassword")).Count > 0) // { // SendUsernameAndPassword(); // break; // } // Thread.Sleep(200); // counter++; //} WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(120)); wait.Until(ExpectedConditions.ElementToBeClickable(By.Id("textBoxPassword"))); SendUsernameAndPassword(); WinWindow winLincense = new WinWindow(); winLincense.SearchProperties[WinWindow.PropertyNames.Name] = "Licença"; winLincense.WindowTitles.Add("Licença"); if (winLincense.Exists) { driver.FindElement(By.Id("FormLicensing")).FindElement(By.Id("buttonClose")).Click(); } } //else //{ // if (driver.FindElements(By.Id("textBoxPassword")).Count > 0) // { // //this.UIMap.InserirUsuarioESenha(); // SendUsernameAndPassword(); // } //} } catch (ArgumentException e) { Console.WriteLine("Erro: {0}", e.Source); } }
public void WebTest() { DesiredCapabilities capabilities = new DesiredCapabilities(); // 1. Replace <<cloud name>> with your perfecto cloud name (e.g. demo is the cloudName of demo.perfectomobile.com). String cloudName = "<<cloud name>>"; // 2. Replace <<security token>> with your perfecto security token. String securityToken = "<<security token>>"; capabilities.SetCapability("securityToken", securityToken); // 3. Set web capabilities. capabilities.SetCapability("platformName", "Windows"); capabilities.SetCapability("platformVersion", "10"); capabilities.SetCapability("browserName", "Chrome"); capabilities.SetCapability("browserVersion", "latest"); capabilities.SetCapability("location", "US East"); capabilities.SetCapability("resolution", "1024x768"); // Set other capabilities. capabilities.SetCapability("takesScreenshot", false); capabilities.SetCapability("screenshotOnError", true); // Initialize the driver RemoteWebDriver driver = new RemoteWebDriver( new Uri("https://" + cloudName.Replace(".perfectomobile.com", "") + ".perfectomobile.com/nexperience/perfectomobile/wd/hub"), capabilities); // Setting implicit wait driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5); PerfectoExecutionContext perfectoExecutionContext; if (System.Environment.GetEnvironmentVariable("jobName") != null) { perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .WithProject(new Project("My Project", "1.0")) .WithJob(new Job(System.Environment.GetEnvironmentVariable("jobName"), int.Parse(System.Environment.GetEnvironmentVariable("jobNumber")))) .WithWebDriver(driver).Build(); } else { perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder() .WithProject(new Project("My Project", "1.0")) .WithWebDriver(driver).Build(); } ReportiumClient reportiumClient = PerfectoClientFactory.CreatePerfectoReportiumClient(perfectoExecutionContext); reportiumClient.TestStart("Selenium C# Web Sample", new Reportium.Test.TestContext("selenium", "web")); try { WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30)); String search = "perfectomobile"; reportiumClient.StepStart("Navigate to Google"); driver.Url = "https://www.google.com"; reportiumClient.StepEnd(); reportiumClient.StepStart("Search for " + search); IWebElement searchbox = wait.Until(ExpectedConditions.ElementToBeClickable(driver.FindElement(By.XPath("//*[@name='q']")))); searchbox.SendKeys(search); searchbox.SendKeys(Keys.Enter); reportiumClient.StepEnd(); reportiumClient.StepStart("Verify Title"); String expectedText = "perfectomobile - Google Search"; // Adding assertions to the Execution Report. This method will not fail the test reportiumClient.ReportiumAssert(expectedText, driver.Title.Contains(expectedText)); reportiumClient.StepEnd(); reportiumClient.TestStop(TestResultFactory.CreateSuccess()); } catch (Exception e) { reportiumClient.TestStop(TestResultFactory.CreateFailure(e)); } // Prints the Smart Reporting URL String reportURL = reportiumClient.GetReportUrl(); Console.WriteLine("Report url - " + reportURL); // Quits the driver driver.Quit(); }
/// <summary> /// Creates DesiredCababilities object based on Device information. /// </summary> /// <returns>The desired capabilities.</returns> /// <param name="device">Device.</param> /// <param name="methodInfo"></param> private DesiredCapabilities CreateDesiredCapabilities(Device device, MethodInfo methodInfo) { DesiredCapabilities capabilities = new DesiredCapabilities(); //capabilities.SetCapability("username", AppiumConfig.GetKobitonUserName()); //capabilities.SetCapability("accessKey", AppiumConfig.GetKobitonAccessKey()); //capabilities.SetCapability("newCommandTimeout", "400"); ////capabilities.SetCapability("appWaitActivity", "md5a28fba6e093d468832e1157c64fa578d.MainActivity"); //capabilities.SetCapability("unicodeKeyboard", true); //capabilities.SetCapability("resetKeyboard", true); //capabilities.SetCapability("browserName", "Kobiton TestProvider"); //capabilities.SetCapability("browserTimeout", 120); //capabilities.SetCapability("app", $"kobiton-store:{RunAppId}"); //var className = methodInfo.ReflectedType.ToString().Split('.').Last(); //var buildName = Environment.GetEnvironmentVariable("JOB_BASE_NAME"); //capabilities.SetCapability("sessionName", $" {buildName} - {className} - {methodInfo.Name}"); //capabilities.SetCapability("sessionDescription", "Automation Run"); //capabilities.SetCapability("deviceOrientation", "portrait"); //capabilities.SetCapability("captureScreenshots", true); //capabilities.SetCapability("deviceGroup", "KOBITON"); //capabilities.SetCapability("deviceName", "i"); //capabilities.SetCapability("platformVersion", "11."); //capabilities.SetCapability("version", "11."); capabilities.SetCapability("username", AppiumConfig.GetKobitonUserName()); capabilities.SetCapability("accessKey", AppiumConfig.GetKobitonAccessKey()); capabilities.SetCapability("newCommandTimeout", "400"); //capabilities.SetCapability("appWaitActivity", "md5a28fba6e093d468832e1157c64fa578d.MainActivity"); capabilities.SetCapability("unicodeKeyboard", true); capabilities.SetCapability("resetKeyboard", true); capabilities.SetCapability("browserName", "Kobiton TestProvider"); capabilities.SetCapability("browserTimeout", 120); capabilities.SetCapability("app", $"kobiton-store:{RunAppId}"); var className = methodInfo.ReflectedType.ToString().Split('.').Last(); var buildName = Environment.GetEnvironmentVariable("JOB_BASE_NAME"); capabilities.SetCapability("sessionName", $" {buildName} - {className} - {methodInfo.Name}"); capabilities.SetCapability("sessionDescription", "Automation Run"); capabilities.SetCapability("deviceOrientation", "portrait"); capabilities.SetCapability("captureScreenshots", true); capabilities.SetCapability("deviceGroup", "KOBITON"); capabilities.SetCapability("deviceName", "Galaxy"); //capabilities.SetCapability("platformVersion", "11."); //capabilities.SetCapability("version", "11."); //var devicePlatform = AppiumConfig.GetDevicePlatform(); //if (devicePlatform == DevicePlatform.IOS) //{ // // HACK: converting iOS to MAC, watch out for when Appium switches back to iOS // capabilities.SetCapability("platformName", "MAC"); //} //else //{ capabilities.SetCapability("platformName", device.PlatformName); //} return(capabilities); }
public IWebDriver Create(Uri hubUrl, DesiredCapabilities capabilities, TimeSpan commandTimeout) { return(_fakeDriver); }
/// <summary> /// Initializes a new instance of the <see cref="FirefoxDriver"/> class for a given profile, binary environment, and timeout value. /// </summary> /// <param name="binary">A <see cref="FirefoxBinary"/> object representing the operating system /// environmental settings used when running Firefox.</param> /// <param name="profile">A <see cref="FirefoxProfile"/> object representing the profile settings /// to be used in starting Firefox.</param> /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param> public FirefoxDriver(FirefoxBinary binary, FirefoxProfile profile, TimeSpan commandTimeout) : this(binary, profile, DesiredCapabilities.Firefox(), commandTimeout) { }
/// <summary> /// Initializes a new instance of the AndroidDriver class using desired capabilities and command timeout /// </summary> /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param> /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param> public AndroidDriver(DesiredCapabilities desiredCapabilities, TimeSpan commandTimeout) : base(SetPlatformToCapabilities(desiredCapabilities, Platform), commandTimeout) { }
/// <summary> /// Initializes a new instance of the AndroidDriver class using desired capabilities /// </summary> /// <param name="desiredCapabilities">An <see cref="DesiredCapabilities"/> object containing the desired capabilities of the browser.</param> public AndroidDriver(DesiredCapabilities desiredCapabilities) : base(SetPlatformToCapabilities(desiredCapabilities, Platform)) { }
/// <summary> /// Initializes a new instance of the AndroidDriver 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.</param> public AndroidDriver(ICommandExecutor commandExecutor, DesiredCapabilities desiredCapabilities) : base(commandExecutor, SetPlatformToCapabilities(desiredCapabilities, Platform)) { }
/// <summary> /// Initializes a new instance of the AndroidDriver class using the specified Appium local service, desired capabilities, and command timeout. /// </summary> /// <param name="service">the specified Appium local service</param> /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param> /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param> public AndroidDriver(AppiumLocalService service, DesiredCapabilities desiredCapabilities, TimeSpan commandTimeout) : base(service, SetPlatformToCapabilities(desiredCapabilities, Platform), commandTimeout) { }
/// <summary> /// Initializes a new instance of the AndroidDriver 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:4723/wd/hub).</param> /// <param name="desiredCapabilities">An <see cref="DesiredCapabilities"/> object containing the desired capabilities.</param> /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param> public AndroidDriver(Uri remoteAddress, DesiredCapabilities desiredCapabilities, TimeSpan commandTimeout) : base(remoteAddress, SetPlatformToCapabilities(desiredCapabilities, Platform), commandTimeout) { }
private static IWebDriver ConnetctToRemoteWebDriver(WebDriverOptions browserOptions) { DesiredCapabilities caps = null; Uri hubUri = new Uri(browserOptions.RemoteUrl); switch (browserOptions.BrowserName) { /* * http://stackoverflow.com/questions/17398896/how-to-use-different-version-of-firefox-using-webdriver * https://code.google.com/p/selenium/wiki/FirefoxDriver * https://code.google.com/p/selenium/wiki/InternetExplorerDriver * https://code.google.com/p/selenium/wiki/ChromeDriver#Overriding_the_Chrome_binary_location * */ case WebDriverOptions.browser_Firefox: path_to_binary = @"C:\Program Files\Mozilla Firefox\firefox.exe"; binary_path_propery = "webdriver.firefox.bin"; caps = DesiredCapabilities.Firefox(); break; case WebDriverOptions.browser_Chrome: path_to_driver = @"C:\Program Files\Mozilla Firefox\firefox.exe"; driver_path_propery = "webdriver.chrome.driver"; caps = DesiredCapabilities.Chrome(); break; case WebDriverOptions.browser_InternetExplorer: caps = DesiredCapabilities.InternetExplorer(); path_to_driver = @"C:\Program Files\Mozilla Firefox\firefox.exe"; driver_path_propery = "webdriver.ie.driver"; break; case WebDriverOptions.browser_PhantomJS: caps = DesiredCapabilities.PhantomJS(); break; case WebDriverOptions.browser_HtmlUnit: caps = DesiredCapabilities.HtmlUnit(); break; case WebDriverOptions.browser_HtmlUnitWithJavaScript: caps = DesiredCapabilities.HtmlUnitWithJavaScript(); break; case WebDriverOptions.browser_Opera: caps = DesiredCapabilities.Opera(); break; case WebDriverOptions.browser_Safari: caps = DesiredCapabilities.Safari(); break; case WebDriverOptions.browser_IPhone: caps = DesiredCapabilities.IPhone(); break; case WebDriverOptions.browser_IPad: caps = DesiredCapabilities.IPad(); break; case WebDriverOptions.browser_Android: caps = DesiredCapabilities.Android(); break; default: throw new ArgumentException(String.Format(@"<{0}> was not recognized as supported browser. This parameter is case sensitive", browserOptions.BrowserName), "WebDriverOptions.BrowserName"); } RemoteWebDriver newDriver = new RemoteWebDriver(hubUri, caps); return(newDriver); }
public void InclusaoEExclusaoDeDependente_7875_7876() { MultiClubesFunctions McFunctions = new MultiClubesFunctions(); MultiClubesMenus McMenus = new MultiClubesMenus(); OpenCash openCash = new OpenCash(); openCash.OpenCashMethod(); var dc = new DesiredCapabilities(); dc.SetCapability("app", @"\\tsidev\Triade\Application\Dev\MultiClubes\System\MultiClubes\MultiClubes.UI.application"); dc.SetCapability("debugConnectToRunningApp", true); RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:9999"), dc); string holderName = "Sócio criado em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); string dependentName = "Dependente criado em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); McMenus.AcessarMenuOperacaoTituloCadastroDeTitulo(); McFunctions.SearchElementByIdAndClick("comboBoxSalePlan", true); McFunctions.SearchElementByNameAndClick("AGE - AGEPES"); McFunctions.SearchElementByIdAndSendKeys("maskedTextBoxPostalCode", "01311000", true); McFunctions.SearchElementByIdAndClick("buttonSearch"); McFunctions.SearchElementByIdAndSendKeys("textBoxNumber", "100", true); McFunctions.SearchElementByIdAndClick("buttonOK"); McFunctions.SearchElementByIdAndSendKeys("textBoxName", holderName); McFunctions.SearchElementByIdAndSendKeys("textBox", "123"); McFunctions.SearchElementByIdAndClick("buttonOK"); McFunctions.SearchElementByIdAndClick("buttonFinalize", true); McFunctions.SearchElementByNameAndClick("Sim", true); McFunctions.SearchElementByIdAndClick("buttonService", true); McFunctions.SearchElementByNameAndClick("Título", true); McFunctions.SearchElementByIdAndClick("sideButtonNewMember", true); McFunctions.SearchElementByIdAndSendKeys("textBoxName", dependentName, true); McFunctions.SearchElementByIdAndClick("comboBoxParentage"); McFunctions.SearchElementByNameAndClick("Nora"); McFunctions.SearchElementByIdAndSendKeys("textBox", "123"); McFunctions.SearchElementByIdAndClick("buttonOK"); WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(50)); wait.Until(ExpectedConditions.ElementToBeClickable(By.Id("listViewMembers"))); var listViewDunElements = driver.FindElement(By.Id("listViewMembers")).FindElements(By.Id("")); int counter = 0; bool dependentFound = false; foreach (IWebElement i in listViewDunElements) { if (i.GetAttribute("Name") == dependentName) { dependentFound = true; break; } counter++; } Assert.IsTrue(dependentFound, "Dependente não encontrado"); McFunctions.SearchElementByNameAndClick("Dependente"); new Actions(driver).MoveToElement(driver.FindElement(By.Name("Dependente"))).ContextClick(driver.FindElement(By.Name("Dependente"))).Build().Perform(); McFunctions.SearchElementByNameAndClick("Status", true); McFunctions.SearchElementByNameAndClick("Excluir"); McFunctions.SearchElementByNameAndClick("Sim"); McFunctions.SearchElementByIdAndClick("buttonOK"); McFunctions.TreatWaitScreen(); int counter2 = 0; bool dependentFound2 = false; foreach (IWebElement i in listViewDunElements) { if (i.GetAttribute("Name") == dependentName) { dependentFound2 = true; break; } counter2++; } Assert.IsFalse(dependentFound2, "Dependente encontrado"); McFunctions.FinalizarAtendimentoTitulo(); McFunctions.CloseWindow("Central de atendimento"); }
private static TimeSpan TIMEOUT = TimeSpan.FromSeconds(10); // for Remote WebDriver #endregion #region Public Static Method /// <summary> /// Create a WebDriver based on Browser and URL (remote) /// For Internet Explorer, it is necessary to run the Selenium in Administrator mode. /// </summary> /// <param name="service">instance of LocalDriver service</param> /// <returns>Driver that meets the configuration service</returns> public static IWebDriver Create(WebDriverConfig service) { if (service == null) { return(null); } if (service.IsRemote) // Remote { switch (service.Browser) { case Browsers.Chrome: capabilities = DesiredCapabilities.Chrome(); break; case Browsers.Firefox: capabilities = DesiredCapabilities.Firefox(); break; case Browsers.InternetExplorer: capabilities = DesiredCapabilities.InternetExplorer(); capabilities.SetCapability("ignoreProtectedModeSettings", true); break; default: capabilities = DesiredCapabilities.InternetExplorer(); capabilities.SetCapability("ignoreProtectedModeSettings", true); break; } capabilities.SetCapability(CapabilityType.Platform, new Platform(service.Platform)); capabilities.SetCapability(CapabilityType.Version, service.BrowserVersion); Uri url = new Uri(string.Format(NODE_URL, service.NodeUrl)); driver = new RemoteWebDriver(url, capabilities, TIMEOUT); } else // Local { InternetExplorerOptions options; switch (service.Browser) { case Browsers.Chrome: driver = new ChromeDriver(DRIVER_PATH); break; case Browsers.Firefox: driver = new FirefoxDriver(); break; case Browsers.InternetExplorer: // Selenium must be run on Administrator mode in order to work properly options = new InternetExplorerOptions { EnableNativeEvents = false }; driver = new InternetExplorerDriver(DRIVER_PATH, options); break; case Browsers.InternetExplorer64: options = new InternetExplorerOptions { EnableNativeEvents = false }; driver = new InternetExplorerDriver(DRIVER_PATH + @"\x64", options); break; default: // If EPM settings are different on every zones, IntroduceInstabilityByIgnoringProtectedModeSettings can help to bypass options = new InternetExplorerOptions { EnableNativeEvents = false, IntroduceInstabilityByIgnoringProtectedModeSettings = true }; driver = new InternetExplorerDriver(DRIVER_PATH, options); break; } } return(driver); }
/// <summary> /// Initializes a new instance of the AndroidDriver class using the AppiumServiceBuilder instance and desired capabilities /// </summary> /// <param name="builder"> object containing settings of the Appium local service which is going to be started</param> /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param> public AndroidDriver(AppiumServiceBuilder builder, DesiredCapabilities desiredCapabilities) : base(builder, SetPlatformToCapabilities(desiredCapabilities, Platform)) { }
internal static DesiredCapabilities SetPlatformToCapabilities(DesiredCapabilities dc, string desiredPlatform) { dc.SetCapability(MobileCapabilityType.PlatformName, desiredPlatform); return(dc); }
/// <summary> /// Initializes a new instance of the AndroidDriver class using the AppiumServiceBuilder instance, desired capabilities and command timeout /// </summary> /// <param name="builder"> object containing settings of the Appium local service which is going to be started</param> /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param> /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param> public AndroidDriver(AppiumServiceBuilder builder, DesiredCapabilities desiredCapabilities, TimeSpan commandTimeout) : base(builder, SetPlatformToCapabilities(desiredCapabilities, Platform), commandTimeout) { }
public IWebDriver Create(Uri hubUrl, DesiredCapabilities capabilities) { return(_fakeDriver); }
/// <summary> /// Initializes a new instance of the AndroidDriver class using the specified remote address and desired capabilities /// </summary> /// <param name="remoteAddress">URI containing the address of the WebDriver remote server (e.g. http://127.0.0.1:4723/wd/hub).</param> /// <param name="desiredCapabilities">An <see cref="DesiredCapabilities"/> object containing the desired capabilities.</param> public AndroidDriver(Uri remoteAddress, DesiredCapabilities desiredCapabilities) : base(remoteAddress, SetPlatformToCapabilities(desiredCapabilities, Platform)) { }
public IWebDriver GetWebDriver(string browser) { IWebDriver driver = null; WebDriverWait wait = null; switch (browser.ToLower()) { case "firefox": FirefoxOptions ffoptions = new FirefoxOptions(); var portNumber = new Random(); ffoptions.Profile = new FirefoxProfile(); ffoptions.Profile.Clean(); ffoptions.Profile.Port = portNumber.Next(7000, 8000); ffoptions.BrowserExecutableLocation = Path.Combine(Hooks.GetBasePath, @"Drivers"); driver = new FirefoxDriver(); wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); break; case "ie": var ieOptions = new InternetExplorerOptions { IntroduceInstabilityByIgnoringProtectedModeSettings = true }; driver = new InternetExplorerDriver(Path.Combine(Hooks.GetBasePath, @"Drivers"), ieOptions); wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); break; case "edge": EdgeOptions eoptions = new EdgeOptions(); eoptions.PageLoadStrategy = EdgePageLoadStrategy.Normal; driver = new EdgeDriver(Path.Combine(Hooks.GetBasePath, @"Drivers"), eoptions); wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); break; case "chrome": ChromeOptions options = new ChromeOptions(); driver = new ChromeDriver(Path.Combine(Hooks.GetBasePath, @"Drivers")); wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); break; case "phantomjs": driver = new PhantomJSDriver(Path.Combine(Hooks.GetBasePath, @"Drivers")); wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); break; case "androidchrome": Console.WriteLine("Connecting to Appium server"); DesiredCapabilities androidcapabilities = new DesiredCapabilities(); androidcapabilities.SetCapability("chromedriverExecutable", Path.Combine(GetBasePath, @"AppiumDrivers\chromedriver.exe")); //androidcapabilities.SetCapability(CapabilityType.BrowserName, "Browser"); androidcapabilities.SetCapability(CapabilityType.BrowserName, "Chrome"); androidcapabilities.SetCapability(CapabilityType.Platform, "Android"); androidcapabilities.SetCapability(CapabilityType.Version, "7.0"); androidcapabilities.SetCapability("Device", "Android"); androidcapabilities.SetCapability("deviceName", "Android Emulator"); driver = new AndroidDriver <IWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), androidcapabilities); wait = new WebDriverWait(driver, TimeSpan.FromSeconds(20)); break; default: Console.WriteLine("No Driver"); break; } return(driver); }
/// <summary> /// Initializes a new instance of the AndroidDriver class using the specified Appium local service and desired capabilities /// </summary> /// <param name="service">the specified Appium local service</param> /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities of the browser.</param> public AndroidDriver(AppiumLocalService service, DesiredCapabilities desiredCapabilities) : base(service, SetPlatformToCapabilities(desiredCapabilities, Platform)) { }
public void Before() { webDriver = new RemoteWebDriver(new Uri(@"http://10.0.2.200:4444/wd/hub"), DesiredCapabilities.Firefox()); }
private void ImportCapabilities(DesiredCapabilities capabilities) { foreach (KeyValuePair <string, object> pair in capabilities.CapabilitiesDictionary) { if (pair.Key == CapabilityType.BrowserName) { } else if (pair.Key == CapabilityType.BrowserVersion) { this.BrowserVersion = pair.Value.ToString(); } else if (pair.Key == CapabilityType.PlatformName) { this.PlatformName = pair.Value.ToString(); } else if (pair.Key == CapabilityType.Proxy) { this.Proxy = new Proxy(pair.Value as Dictionary <string, object>); } else if (pair.Key == CapabilityType.UnhandledPromptBehavior) { this.UnhandledPromptBehavior = (UnhandledPromptBehavior)Enum.Parse(typeof(UnhandledPromptBehavior), pair.Value.ToString(), true); } else if (pair.Key == CapabilityType.PageLoadStrategy) { this.PageLoadStrategy = (PageLoadStrategy)Enum.Parse(typeof(PageLoadStrategy), pair.Value.ToString(), true); } else if (pair.Key == FirefoxOptionsCapability) { Dictionary <string, object> mozFirefoxOptions = pair.Value as Dictionary <string, object>; foreach (KeyValuePair <string, object> option in mozFirefoxOptions) { if (option.Key == FirefoxArgumentsCapability) { object[] args = option.Value as object[]; for (int i = 0; i < args.Length; i++) { this.firefoxArguments.Add(args[i].ToString()); } } else if (option.Key == FirefoxPrefsCapability) { this.profilePreferences = option.Value as Dictionary <string, object>; } else if (option.Key == FirefoxLogCapability) { Dictionary <string, object> logDictionary = option.Value as Dictionary <string, object>; if (logDictionary.ContainsKey("level")) { this.logLevel = (FirefoxDriverLogLevel)Enum.Parse(typeof(FirefoxDriverLogLevel), logDictionary["level"].ToString(), true); } } else if (option.Key == FirefoxBinaryCapability) { this.browserBinaryLocation = option.Value.ToString(); } else if (option.Key == FirefoxProfileCapability) { this.profile = FirefoxProfile.FromBase64String(option.Value.ToString()); } else { this.AddAdditionalCapability(option.Key, option.Value); } } } else { this.AddAdditionalCapability(pair.Key, pair.Value, true); } } }
public void DesfazerCobrancaIndividual_7695() { MultiClubesFunctions McFunctions = new MultiClubesFunctions(); MultiClubesMenus McMenus = new MultiClubesMenus(); var dc = new DesiredCapabilities(); dc.SetCapability("app", @"\\tsidev\Triade\Application\Dev\MultiClubes\System\MultiClubes\MultiClubes.UI.application"); dc.SetCapability("debugConnectToRunningApp", true); RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:9999"), dc); McMenus.AcessarMenuOperacaoTituloCentralDeAtendimento(); McFunctions.SearchHolder("A28248"); McFunctions.AcessarCobrancasAtivas(); McFunctions.WaitForElementLoad(By.Id("listViewYear")); driver.FindElement(By.Id("listViewYear")).FindElements(By.Id(""))[0].Click(); McFunctions.WaitForElementLoad(By.Id("listViewDun")); var listViewDunElements = driver.FindElement(By.Id("listViewDun")).FindElements(By.Id("")); int counter = 0; foreach (IWebElement i in listViewDunElements) { if (i.GetAttribute("Name") == "") { break; } counter++; } string billing = listViewDunElements[counter - 3].GetAttribute("Name"); listViewDunElements[counter - 3].Click(); new Actions(driver).DoubleClick(listViewDunElements[counter - 3]).Build().Perform(); McFunctions.SearchElementByIdAndClick("buttonOptions"); McFunctions.SearchElementByNameAndClick("Desfazer cobrança"); McFunctions.SearchElementByNameAndClick("Sim"); if (driver.FindElements(By.Name("Informação")).Count > 0) { McFunctions.SearchElementByNameAndClick("OK"); McFunctions.SearchElementByNameAndClick("Erros"); } McFunctions.SearchElementByNameAndClick("OK", true); McFunctions.WaitForElementLoad(By.Id("listViewDun")); bool undoneBilling = true; if (driver.FindElement(By.Id("listViewDun")).FindElements(By.Name(billing)).Count > 0) { undoneBilling = false; } McFunctions.CloseWindow("Cobranças ativas"); McFunctions.FinalizarAtendimentoTitulo(); McFunctions.CloseWindow("Central de atendimento"); Assert.IsTrue(undoneBilling, "Cobrança desfeita"); }
/// <summary> /// To be called from concrete test fixtures to initialize the test run. /// </summary> protected static RemoteWebDriverExtended InitializeDriver() { string model = "Unknown device model"; try { Trace.Listeners.Add(new TextWriterTraceListener("webTestCaseExecution.log", "webTestCaseListener")); ExecutionErrors = new List <ExecutionError>(); BaseProjectPath = Path.GetFullPath(Path.Combine(TestRunLocation, @"..\..\..\")); SensitiveInformation.GetHostAndCredentials(BaseProjectPath, out Host, out Username, out Password); ParameterRetriever testParams = new ParameterRetriever(); PerfectoTestingParameters = testParams.GetVSOExecParam(BaseProjectPath, false); CurrentDevice = PerfectoTestingParameters.Devices.FirstOrDefault(); if (string.IsNullOrEmpty(CurrentDevice.DeviceDetails.RunIdentifier)) { CurrentDevice.DeviceDetails.RunIdentifier = string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now); } CheckForValidConfiguration(); model = CurrentDevice.DeviceDetails.Name ?? "Unknown device Model"; Trace.Listeners.Add(new ConsoleTraceListener()); Trace.AutoFlush = true; var browserName = "mobileOS"; if (CurrentDevice.DeviceDetails.IsDesktopBrowser) { browserName = CurrentDevice.DeviceDetails.BrowserName; } DesiredCapabilities capabilities = new DesiredCapabilities(browserName, string.Empty, new Platform(PlatformType.Any)); capabilities.SetCapability("user", Username); capabilities.SetCapability("password", Password); capabilities.SetCapability("newCommandTimeout", "120"); capabilities.SetPerfectoLabExecutionId(Host); capabilities.SetCapability("scriptName", "Parallel-" + TestCaseName); if (CurrentDevice.DeviceDetails.IsDesktopBrowser) { capabilities.SetCapability("platformName", CurrentDevice.DeviceDetails.OS); capabilities.SetCapability("platformVersion", CurrentDevice.DeviceDetails.OSVersion); capabilities.SetCapability("browserName", CurrentDevice.DeviceDetails.BrowserName); capabilities.SetCapability("resolution", "1366x768"); capabilities.SetCapability("version", CurrentDevice.DeviceDetails.BrowserVersion); } else { capabilities.SetCapability("deviceName", CurrentDevice.DeviceDetails.DeviceID); //WindTunnel only for devices and only when available if (AppSettingsRetriever.IsWindTunnelEnabled()) { capabilities.SetCapability("windTunnelPersona", "Georgia"); } } var url = new Uri(string.Format("https://{0}/nexperience/perfectomobile/wd/hub", Host)); RemoteWebDriverExtended driver = new RemoteWebDriverExtended(url, capabilities, new TimeSpan(0, 2, 0)); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); DriverInstance = driver; startedVitals.Add("outputs.monitors.cpu.total"); startedVitals.Add("outputs.monitors.memory.used"); StartVitals(1, startedVitals); return(driver); } catch (Exception e) { HandleGeneralException(e, DriverInstance); } return(null); }
public WebDriverFactory() { _sauceCustomCapabilities = new SauceLabsCapabilities(); _desiredCapabilities = new DesiredCapabilities(); }
private static DesiredCapabilities BuildDesiredCapabilities() { DesiredCapabilities dc; if (IsSauceLabsDesktopTest) { switch (BrowserName.ToLower()) { case "firefox": dc = DesiredCapabilities.Firefox(); break; case "chrome": dc = DesiredCapabilities.Chrome(); break; case "safari": dc = DesiredCapabilities.Safari(); break; case "ie": dc = DesiredCapabilities.InternetExplorer(); break; default: dc = DesiredCapabilities.InternetExplorer(); break; } dc.SetCapability(CapabilityType.Version, BrowserVersion); dc.SetCapability(CapabilityType.Platform, OperatingSystem); dc.SetCapability("screen-resolution", Resolution); } else { switch (DeviceType.ToLower()) { case "android": dc = DesiredCapabilities.Android(); break; case "iphone": dc = DesiredCapabilities.IPhone(); break; default: dc = DesiredCapabilities.IPhone(); break; } dc.SetCapability(CapabilityType.Platform, DevicePlatform); dc.SetCapability(CapabilityType.Version, DeviceOsVersion); dc.SetCapability("deviceName", DeviceName); dc.SetCapability("device-orientation", DeviceOrientation); } dc.SetCapability(CapabilityType.IsJavaScriptEnabled, JavaScriptEnabled); dc.SetCapability(CapabilityType.HandlesAlerts, "dismiss"); dc.SetCapability(CapabilityType.TakesScreenshot, "true"); dc.SetCapability("tags", Tags); dc.SetCapability("name", TestName); dc.SetCapability("username", "seanrand"); dc.SetCapability("accessKey", "2002db9c-71fb-4f6a-a691-2e249eea98c2"); return(dc); }
public static IWebDriver GetDriver(BrowserType browserType, string perfectoUserName = "", string perfectoPassWord = "", string deviceId = "", string gridUrl = "", DesiredCapabilities desCap = null) { currentBrowserType = browserType; switch (browserType) { case BrowserType.IExplore: var ieOpt = new InternetExplorerOptions { BrowserAttachTimeout = TimeSpan.FromSeconds(30), EnableNativeEvents = true }; ieOpt.PageLoadStrategy = PageLoadStrategy.Normal; return(LastDriver = new InternetExplorerDriver(@"C:\\AutomationFiles\\", ieOpt)); case BrowserType.Chrome: var chromeOp = new ChromeOptions(); chromeOp.AddUserProfilePreference("credentials_enable_service", false); chromeOp.AddUserProfilePreference("profile.password_manager_enabled", false); chromeOp.AddArguments("disable-infobars"); chromeOp.PageLoadStrategy = PageLoadStrategy.Normal; //return LastDriver = new ChromeDriver(chromeOp); return(LastDriver = new ChromeDriver(@"C:\\AutomationFiles\\", chromeOp)); case BrowserType.FireFox: var ffService = FirefoxDriverService.CreateDefaultService("C:\\AutomationFiles\\"); var ffOptions = new FirefoxOptions(); ffOptions.PageLoadStrategy = PageLoadStrategy.Normal; return (LastDriver = new FirefoxDriver(ffService, ffOptions, TimeSpan.FromSeconds(60))); case BrowserType.Edge: return(LastDriver = new EdgeDriver("C:\\AutomationFiles\\")); case BrowserType.Mobile: if (string.IsNullOrEmpty(perfectoUserName) || string.IsNullOrEmpty(perfectoPassWord) || string.IsNullOrEmpty(deviceId)) { throw new Exception("Perfecto username, password or device list is null or empty."); } return(LastDriver = SetUpPerfecto(perfectoUserName, perfectoPassWord, desCap)); case BrowserType.Grid: return(LastDriver = new RemoteWebDriver(new Uri(gridUrl), desCap)); default: throw new Exception("WebDriverFactory.GetDriver() should not reach this code path."); } }
public static IWebDriver GetDriver(StartDriverCmdletBase cmdlet, Drivers driverType) { try { // enumerate driver processes before creating new one SeHelper.CollectDriverProcesses(driverType); switch (driverType) { // case Drivers.Chrome: // //SeHelper.CollectDriverProcesses(Drivers.Chrome); //// ChromeOptions optCh = //// new ChromeOptions(); // // ChromeOptions optCh = //OptionsFactory.GetChromeOptions(); // // resolve ChromeOptions // WebDriverFactory.Container.Resolve<ChromeOptions>(); // // // 20121003 // //driver = new ChromeDriver(optCh); // // // 20121003 // OpenQA.Selenium.Chrome.ChromeDriverService chromeService = OpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService(); // //cmdlet.WriteObject(cmdlet, chromeService.ServiceUrl); // //cmdlet.WriteObject(cmdlet, chromeService); // //chromeService.Start(); // // driver = new ChromeDriver(chromeService, optCh, TimeSpan.FromSeconds(60)); // // SeHelper.GetDriverProcess(Drivers.Chrome, driver.Title + SeHelper.DriverTitleComplementChrome); // break; case Drivers.Firefox: //SeHelper.CollectDriverProcesses(Drivers.Firefox); // 20121003 //FirefoxProfile ffProfile = new FirefoxProfile(); //ffProfile.AcceptUntrustedCertificates = true; //ffProfile.EnableNativeEvents = true; ////driver = new FirefoxDriver(); //driver = new FirefoxDriver(ffProfile); // 20121003 // ICapabilities ffCapabilities = // new OpenQA.Selenium.Support.Events.WebElementEventArgs // ICapabilities ffCapabilities = // new DesiredCapabilities(); var ffCapabilities = CapabilitiesFactory.GetCapabilities(); _driver = new FirefoxDriver(ffCapabilities); SeHelper.GetDriverProcess(Drivers.Firefox, _driver.Title + SeHelper.DriverTitleComplementFirefox.Substring(3)); _driver.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromSeconds(60)); break; // case Drivers.InternetExplorer: // //OpenQA.Selenium.IE.InternetExplorerOptions optIE = // // new InternetExplorerOptions(); // //optIE. //// InternetExplorerOptions optIE = //// new InternetExplorerOptions(); // // //InternetExplorerOptions optIE = OptionsFactory.GetIEOptions(); // InternetExplorerOptions optIE = // WebDriverFactory.Container.Resolve<InternetExplorerOptions>(); // // optIE.EnableNativeEvents = true; // optIE.IgnoreZoomLevel = true; // optIE.IntroduceInstabilityByIgnoringProtectedModeSettings = true; // // // //SeHelper.CollectDriverProcesses(Drivers.InternetExplorer); // // //string ieSubFolder = string.Empty; // // 20120901 // //System.Reflection.Assembly[] assms = // // System.AppDomain.CurrentDomain.GetAssemblies(); // //foreach (System.Reflection.Assembly assm in assms) { // // if (assm.FullName.Contains("SePSX")) { // // ieSubFolder = // // assm.Location.Substring(0, assm.Location.LastIndexOf('\\')); // // break; // // } // //} // // string ieSubFolder = System.IO.Path.GetDirectoryName(cmdlet.GetType().Assembly.Location); // // if (cmdlet.Architecture == InternetExplorer.x86) { // ieSubFolder += "\\32\\"; // } // if (cmdlet.Architecture == InternetExplorer.x64) { // ieSubFolder += "\\64\\"; // } // // // //driver = new InternetExplorerDriver( // // // 20121003 // OpenQA.Selenium.DriverService ieService = OpenQA.Selenium.IE.InternetExplorerDriverService.CreateDefaultService(ieSubFolder); // // ieService.Start(); // // // driver = new InternetExplorerDriver(ieService, optIE, TimeSpan.FromSeconds(10)); // // // 20121003 // //driver = new InternetExplorerDriver(ieSubFolder, optIE); // // SeHelper.GetDriverProcess(Drivers.InternetExplorer, driver.Title + SeHelper.DriverTitleComplementInternetExplorer); // break; case Drivers.Safari: //SeHelper.CollectDriverProcesses(Drivers.Safari); //driver = new SafariDriver(); //driver = WebDriverFactory.GetNativeDriver(driverType); _driver = GetNativeDriver(driverType); SeHelper.GetDriverProcess(Drivers.Safari, _driver.Title + SeHelper.DriverTitleComplementSafari); break; case Drivers.Html: _driver = new RemoteWebDriver(DesiredCapabilities.HtmlUnit()); break; default: throw new Exception("Invalid value for Drivers"); } // // //return (new FirefoxDriver()); return(_driver); // // } catch (Exception ee) { Console.WriteLine(ee.Message); return(null); } }