public static IWebDriver GetDriver(Browsers type) { IWebDriver driver = null; switch (type) { case Browsers.Chrome: { driver = new ChromeDriverCreator().CreateWebDriver(); break; } case Browsers.FireFox: { driver = new FireFoxDriverCreator().CreateWebDriver(); break; } default: { throw new Exception("Unknown browser type!"); } } return(driver); }
public void Setup() { string binariesDir = Environment.CurrentDirectory; #if IE IWebDriverCreator creator = new IEDriverCreator(); #endif #if FIREFOX IWebDriverCreator creator = new FirefoxDriverCreator(); #endif #if CHROME IWebDriverCreator creator = new ChromeDriverCreator(); #endif WebDriverConstructor webDriverConstructor = new WebDriverConstructor(binariesDir); this.WebDriver = creator.Create(webDriverConstructor); if (this.WebDriver == null) { throw new NullReferenceException( "Please run the tests using one of the valid build " + "configurations geared towards a particular browser. " + "See above for details"); } // Set any common/global settings against the WebDriver instance. this.WebDriver.Manage().Timeouts().ImplicitWait = this.Configuration.GetImplicitWait(); this.WebDriver.Manage().Window.Maximize(); }
public void LogInToMailboxUsingFactory() { WebDriverCreator creator = new ChromeDriverCreator(); IWebDriver driver = creator.FactoryMethod(); driver.Navigate().GoToUrl("https://mail.ru/"); LoginPage lp = new LoginPage(driver); lp.SetUserNamePassword(); MainPage mp = lp.ClickLoginButton(); Assert.IsTrue(mp.loginEmail.Text.ToLower().Equals(lp.Email)); mp.LogOut(); driver.Quit(); }
public void BrowserDriverCreatorGetDesiredCapabilitiesTest() { var proxy = new Proxy { Kind = ProxyKind.System }; var timeout = TimeSpan.FromSeconds(60); var creator = new ChromeDriverCreator(proxy, timeout); var options = creator.Options() as ChromeOptions; Assert.IsNotNull(options); options.AddArgument("test-type"); var chromeCapabilities = BrowserDriverCreator.DesiredCapabilities(options); ValidateChromeCapabilities(chromeCapabilities, "test-type"); #pragma warning disable CS0618 // Type or member is obsolete Assert.IsFalse(chromeCapabilities.HasCapability(CapabilityType.IsJavaScriptEnabled), #pragma warning restore CS0618 // Type or member is obsolete "javascriptEnabled capability does not exist"); var noAdditionalCapabilities = new Dictionary <string, object>(); var headlessCapabilities = new HeadlessChromeDriverCreator(proxy, timeout).DesiredCapabilities(noAdditionalCapabilities); ValidateChromeCapabilities(headlessCapabilities, "headless"); var edgeCapabilities = new EdgeDriverCreator(proxy, timeout).DesiredCapabilities(noAdditionalCapabilities); Assert.AreEqual("MicrosoftEdge", edgeCapabilities.GetCapability(CapabilityType.BrowserName)); var ffCapabilities = new FireFoxDriverCreator(proxy, timeout).DesiredCapabilities(noAdditionalCapabilities); ValidateFirefoxCapabilities(ffCapabilities); var ieCapabilities = new InternetExplorerDriverCreator(proxy, timeout).DesiredCapabilities(noAdditionalCapabilities); Assert.AreEqual("internet explorer", ieCapabilities.GetCapability(CapabilityType.BrowserName)); Assert.AreEqual("windows", ieCapabilities.GetCapability(CapabilityType.PlatformName)); var operaCapabilities = new OperaDriverCreator(proxy, timeout).DesiredCapabilities(noAdditionalCapabilities); Assert.AreEqual("opera", operaCapabilities.GetCapability(CapabilityType.BrowserName)); var safariCapabilities = new SafariDriverCreator(timeout).DesiredCapabilities(noAdditionalCapabilities); Assert.AreEqual("safari", safariCapabilities.GetCapability(CapabilityType.BrowserName)); var noCapabilities = new NoBrowserDriverCreator().DesiredCapabilities(noAdditionalCapabilities); Assert.IsNull(noCapabilities); var additionalCapabilities = new Dictionary <string, object> { { "javascriptEnabled", false } }; var chromeCapabilities2 = new ChromeDriverCreator(proxy, timeout).DesiredCapabilities(additionalCapabilities); Assert.IsFalse(chromeCapabilities2.GetCapability("javascriptEnabled").ToBool(), "Additional capabilities found"); }
static void Main(string[] args) { int r = 0; bool phantomMode = false; gOpMode = OperationMode.Bet365Scan; foreach (string arg in args) { Console.WriteLine("args[" + r + "] " + arg); if (arg.ToLower().Contains("-p:")) { xmlPath = arg.Substring("-p:".Length); } ++r; } Console.WriteLine("Bot starting, scanning site : " + gOpMode); Console.WriteLine("Connection string : " + connectionString); Console.WriteLine("Database Type : " + dbtype); Console.WriteLine("XML Path : " + xmlPath); Console.WriteLine("Sleep Time : " + sleepTime); Console.WriteLine(" "); int sleep = 2000; int.TryParse(sleepTime, out sleep); if (Directory.Exists(xmlPath) == false) { log.Error("Directory " + xmlPath + " does not exist :("); return; } DriverCreator driverCreator = null; if (phantomMode) { driverCreator = new PhantomDriverCreator(); } else { driverCreator = new ChromeDriverCreator(); } Database dbStuff = new Database(DbCreator.Create(dbtype)); int cnt = 0; int maxWait = 10; while (true) { try { dbStuff.Connect(connectionString); break; } catch (Exception e) { log.Error(e); log.Warn("Cannot connect to DB... retrying in 10 seconds"); if (cnt++ < maxWait) { System.Threading.Thread.Sleep(10000); } else { break; } } } string agentString = "--user-agent=\"Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533/1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1\""; using (var driverWrapper = driverCreator.CreateDriver(agentString)) { if (driverWrapper == null) { log.Error("Failed to make a Selenium Driver"); } var scanner = new OddScanner(dbStuff); scanner.AddTodaysMatches(2000, driverWrapper); } }