Пример #1
0
        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();
        }
Пример #3
0
 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");
        }
Пример #5
0
        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);
            }
        }