Esempio n. 1
1
        /// <summary>
        /// Launches the Selenium WebDriver driven browser specified in the Environments.cs file
        /// </summary>
        public IWebDriver LaunchBrowser(IWebDriver driver)
        {
            switch(this.environment.browser)
            {
                case "*firefox":
                    _ffp = new FirefoxProfile();
                    _ffp.AcceptUntrustedCertificates = true;
                    driver = new FirefoxDriver(_ffp);
                    break;
                case "*iexplore":
                    driver = new InternetExplorerDriver();
                    break;
                case "*googlechrome":
                    driver = new ChromeDriver();
                    break;
                case "Android":
                    capabilities = new DesiredCapabilities("android", "", null);
                    capabilities.IsJavaScriptEnabled = true;
                    driver = new RemoteWebDriver(new Uri(string.Format("http://{0}:{1}/hub", environment.host, environment.port)), capabilities);
                    break;
                case "RemoteWebDriver":
                    capabilities = DesiredCapabilities.Firefox();
                    var remoteAddress = new Uri(string.Format("http://{0}:{1}/wd/hub", environment.host, environment.port));
                    driver = new RemoteWebDriver(remoteAddress, capabilities);
                    break;
            }

            return driver;
        }
Esempio n. 2
0
 public static IWebDriver DMLogin(string Url, string UserName, string Password)
 {
     //var driver = new InternetExplorerDriver(@"C:\Users\liu\Documents\visual studio 2012\Projects\TestProject\TestProject\");
     //var driver=new FirefoxDriver();
     var driver = new ChromeDriver(@"C:\Users\liu\Documents\visual studio 2012\Projects\TestProject\TestProject\");
     driver.Manage().Window.Maximize();
     driver.Navigate().GoToUrl(Url);
     driver.FindElement(By.Id("UserName")).SendKeys(UserName);
     driver.FindElement(By.Id("Password")).SendKeys(Password);
     driver.FindElement(By.Id("login_button_credentials")).Submit();
     Thread.Sleep(2000);
     return driver;
 }
Esempio n. 3
0
        public void Manipulate()
        {
            ChromeDriver driver = new ChromeDriver();
            HelpFunctions H = new HelpFunctions();

             H.Navigate("http://us14.chatzy.com/37785015405504", driver);
            H.Navigate("http://us14.chatzy.com", driver);
            driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 100));
            WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5));
            IWebElement element = null;
               //= wait.Until(ExpectedConditions.ElementIsVisible(By.ClassName("X967")));

            H.Button("//*[@id='X313']", driver);//Login/SignUp
            driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30));
            element = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("//*[@id='X603']")));

            H.InputInfo("//*[@id='X603']", "*****@*****.**", driver);//add email
            driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30));

            H.Button("//*[@id='X6001']", driver); // choose the "I am regitered user"
            driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30));

            H.InputInfo("//*[@id='X604']", "Amber001", driver); //Enter in the password
            driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30));

            H.Button("//*[@id='X593']", driver); //click the ok button

            element = wait.Until(ExpectedConditions.ElementIsVisible(By.ClassName("X967")));
            H.Navigate("http://us14.chatzy.com/37785015405504", driver);

            H.Button("//*[@id='X593']", driver); //click the enter room button
            H.Button("//*[@id='X1049']", driver);

            var chat = driver.FindElementById("X184");
               // System.Collections.ObjectModel.ReadOnlyCollection<IWebElement> chat = driver.FindElementsByClassName("a");
               // chat.ToString();

            List<string> Temp = new List<string>();
            Temp.Add(chat.Text);
            System.IO.File.AppendAllLines(@"OUTPUT3.txt", Temp);
            string[] t = System.IO.File.ReadAllLines(@"OUTPUT3.txt");
            t.ToList();

             //   string s = chat.Text;
            //    string[] words = Regex.Split(s, "\r\n");
            driver.Close();
        }
 /// <summary>
 /// BROWSER_TYPEの値によって起動するブラウザを変える
 /// (firefox以外は不安定)
 /// </summary>
 /// <param name="webDriver"></param>
 public static void SelectBrowser(ref IWebDriver webDriver)
 {
     switch (AppConfig.GetString(Config.BROWSER_TYPE))
     {
         case "1": // FireFox
             FirefoxBinary firefoxBinary = new FirefoxBinary(@"C:\Program Files (x86)\Mozilla Firefox\firefox.exe");
             FirefoxProfile firefoxProfile = new FirefoxProfile();
             webDriver = new FirefoxDriver(firefoxBinary, firefoxProfile);
             break;
         case "2": // Chrome
             webDriver = new ChromeDriver();
             break;
         case "3": // IE
             // ブラウザのズームレベルを100%にしないと落ちる
             webDriver = new InternetExplorerDriver();
             break;
         default:
             throw new OriginalException("BROWSER_TYPEが不正です。1~3の間で設定してください。");
     }
     webDriver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
     webDriver.Url = AppConfig.GetString(Config.TEST_URL);
 }
Esempio n. 5
0
 public void InputInfo(string path, string information, ChromeDriver driver)
 {
     driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30));
     var Input = driver.FindElementByXPath(path);
     Input.SendKeys(information);
 }
        static void Main(string[] args)
        {
            var driver = new ChromeDriver();

            driver.Url = "https://www.bbc.co.uk";
        }
Esempio n. 7
0
 public void SetFixture(ChromeFixture data)
 {
     driver = data.GetDriver();
 }
Esempio n. 8
0
 protected void RunBeforeEachTest()
 {
     StartIIS();
     ChromeDriver = new ChromeDriver(Path.Combine(Directory.GetCurrentDirectory(), "DiplomMSSQLApp.IntegrationTests"));
 }
Esempio n. 9
0
 private static void restartDriver(ref ChromeDriver driver)
 {
     //driver.Dispose();
     driver.Quit();
     driver = Utilities.WebDriverExtension.GetChromeDriver(hideBrowser: _WebDriverSetting.HideBrowser, hideCommand: _WebDriverSetting.HideCommand, isMaximized: true, wait: new TimeSpan(0, 0, 30));
 }
        public void Removing_The_Added_Event_Staging()
        {
            using (var driver = new ChromeDriver())
            {
                // Maximize Browser Window
                driver.Manage().Window.Maximize();

                // Navigate to url
                driver.Navigate().GoToUrl("https://us-stage.gmli2.bluewatertech.host");

                // Find SignIn btn and Click
                driver.FindElementByXPath("//*[@id='NavigationMenu']/li").Click();

                // Thread.Sleep() used to delay the driver to allow the web page to load.
                //Thread.Sleep(2000);

                driver.FindElementByName("Email").SendKeys("*****@*****.**");

                driver.FindElementByName("Password").SendKeys("Droop420!");

                //Thread.Sleep(2000);

                driver.FindElementByXPath("//*[@id='loginForm']/form/div[4]/div/input").Click();

                //Thread.Sleep(2000);

                //This is for mouseover actions.
                Actions builder = new Actions(driver);

                //Mouse over the administration dropdown
                builder.MoveToElement(driver.FindElementByXPath("//*[@id='NavigationMenu']/li[1]")).Perform();

                Thread.Sleep(4000);

                //Selects the System button in the mouseover drop down
                builder.MoveToElement(driver.FindElementByXPath("//*[@id='NavigationMenu']/li[1]/div/ul/li[5]/span")).Perform();

                Thread.Sleep(2000);


                //Selects the Source Code button in the mouse hover dropdown
                driver.FindElementByCssSelector("#NavigationMenu > li.k-item.main-menu-item.k-state-default.k-first.k-state-border-down > div > ul > li.k-item.k-state-default.k-last.k-state-border-right > div > ul > li:nth-child(2)").Click();

                Thread.Sleep(2000);

                //Change page layout to 500 source codes per page
                driver.FindElementByXPath("//*[@id='_gSourceCodes']/div[2]/span[1]/span/span").Click();

                Thread.Sleep(1000);

                //Used to Select the 500 items per page in dropdown
                builder.MoveToElement(driver.FindElementByCssSelector("body > div.k-animation-container > div > div:nth-child(2) > ul > li:nth-child(4)")).Click().Perform();

                Thread.Sleep(2000);

                builder.MoveToElement(driver.FindElementByXPath("//*[@id='form0']/div/div/div")).Perform();

                Thread.Sleep(2000);

                //Delete the new source code that was added.
                builder.MoveToElement(driver.FindElementByXPath("//*[@id='_gSourceCodes']/table/tbody/tr[335]/td[18]/a")).Perform();

                Thread.Sleep(3000);       ////*[@id="_gSourceCodes"]/table/tbody/tr[335]/td[18]/a

                driver.FindElementByXPath("//*[@id='_gSourceCodes']/table/tbody/tr[335]/td[18]/a").Click();

                Thread.Sleep(2000);

                builder.MoveToElement(driver.FindElementByCssSelector("#alertify-ok")).Perform();

                Thread.Sleep(2000);
                // ok button CssSelector:"#alertify-ok"  XPath:"//*[@id='alertify-ok']"
                driver.FindElementByCssSelector("#alertify-ok").Click();

                Thread.Sleep(5000);

                //Need to put an if statement here to verify that the Element has been deleted.

                builder.MoveToElement(driver.FindElementByXPath("//*[@id='form0']/div/div/div")).Perform();

                Thread.Sleep(10000);
            }
        }
 public FavorilerimFacilities(ChromeDriver driver)
 {
     this.driver = driver;
 }
Esempio n. 12
0
        public void PrevisãoPagamento(ChromeDriver _chrome)
        {
            try
            {
                if (PaginaBase.ExpectedUrl(_chrome, "enter/options"))
                {
                    _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(4)").Click();
                }
                #region Pagamento Em Outra Data
                else
                {
                    PaginaBase.Fail();
                }
                _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(2)").Click();
                PaginaBase.GaveGood(_chrome, pessoa, log);
                AjustClick.ClickById("send-another-date", _chrome);
                Thread.Sleep(2000);
                if (PaginaBase.ExpectedUrl(_chrome, "info/methods"))
                {
                }
                else
                {
                    PaginaBase.Fail();
                }
                Thread.Sleep(1000);
                for (int i = 0; i < 2; i++)
                {
                    _chrome.Navigate().Back();
                }
                #endregion

                #region Problemas Técnicos
                //Escolher Outro Seletor
                IList <IWebElement> Link = _chrome.FindElements(By.CssSelector("#fade-1 > div:nth-child(2) > div > a"));
                foreach (var i in Link)
                {
                    if (i.Text.Equals("PROBLEMAS TÉCNICOS"))
                    {
                        i.Click();
                        break;
                    }
                }
                #endregion

                #region Problemas Financeiros
                _chrome.Navigate().GoToUrl(new Constants().Sly_url + "pay-info/no-date");
                _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(4)").Click();
                #endregion

                #region Discorda dos Valores da Fatura
                _chrome.Navigate().GoToUrl(new Constants().Sly_url + "pay-info/no-date");
                _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(5)").Click();
                #endregion

                #region Assinatura Cancelada
                _chrome.Navigate().GoToUrl(new Constants().Sly_url + "pay-info/no-date");
                _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(6)").Click();
                #endregion

                #region Não Reconhce Assinatura
                _chrome.Navigate().GoToUrl(new Constants().Sly_url + "pay-info/no-date");
                _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(7)").Click();
                if (PaginaBase.ExpectedUrl(_chrome, "nao-reconhece-assinatura"))
                {
                }
                else
                {
                    PaginaBase.Fail();
                }
                #endregion

                #region Titular Falecido
                _chrome.Navigate().GoToUrl(new Constants().Sly_url + "pay-info/no-date");
                PaginaBase.GaveGood(_chrome, pessoa, log);
                _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(8)").Click();
                if (PaginaBase.ExpectedUrl(_chrome, "titular-falecido"))
                {
                    PaginaBase.GaveGood(_chrome, pessoa, log);
                }
                else
                {
                    PaginaBase.Fail();
                }
                #endregion
                _chrome.Navigate().GoToUrl(new Constants().Sly_url + "enter/options");
                Thread.Sleep(2000);
            }
            catch (Exception e)
            {
                PaginaBase.Error(_chrome, pessoa, log);
                throw;
            }
        }
 public AutomatedUITests()
 {
     WebDriver  = new ChromeDriver();
     personPage = new PersonPage(WebDriver);
     personPage.Navigate();
 }
        // Initialize the Chrome Driver
        public static List <StackOverflow> RunSearch(string jobName, string jobLocation)
        {
            // Check operating system
            string driverLocation = "";
            string osName         = System.Runtime.InteropServices.RuntimeInformation.OSDescription.ToLower();

            Console.WriteLine(osName);

            if (osName.Contains("windows"))
            {
                driverLocation = "..\\JobSearch\\wwwroot\\drivers-win";
            }
            else
            {
                driverLocation = "../JobSearch/wwwroot/drivers";
            }
            // Initialize the Chrome Driver

            ChromeDriver driver = new ChromeDriver(driverLocation);

            // Go to the home page

            driver.Navigate().GoToUrl("https://stackoverflow.com/jobs");

            // Get the page elements
            var searchForm = driver.FindElementById("q");
            // Get the location
            var searchFormLocation = driver.FindElementById("l");

            // Type user name and password
            searchForm.SendKeys(jobName);
            searchFormLocation.SendKeys(jobLocation);

            // and click the login button
            searchForm.Submit();

            List <StackOverflow> stackOverflowJobs = new List <StackOverflow> {
            };
            string tempTitle    = "";
            string tempLink     = "";
            string tempCompany  = "";
            string tempDate     = "";
            string tempLocation = "";

            bool existsElement(int i)
            {
                try
                {
                    driver.FindElementByXPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[1]/h2/a");
                }
                catch
                {
                    return(false);
                }
                return(true);
            }

            try
            {
                for (int i = 1; i < 20; i++)
                {
                    if (existsElement(i))
                    {
                        var tempListing = driver.FindElementByXPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[1]/h2/a");
                        var tempList    = driver.FindElementByXPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[2]/span[1]");
                        tempTitle   = tempListing.Text;
                        tempLink    = tempListing.GetAttribute("href");
                        tempCompany = tempList.Text;
                        IWebElement location = driver.FindElement(By.XPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[2]/span[2]"));
                        tempLocation = location.Text;
                        IWebElement date = driver.FindElement(By.XPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[1]/span[2]"));
                        tempDate = date.Text;

                        StackOverflow tempJob = new StackOverflow(tempTitle, tempLink, tempCompany, tempLocation, tempDate);
                        stackOverflowJobs.Add(tempJob);
                    }
                }
            }
            catch
            {
                for (int i = 1; i < 20; i++)
                {
                    if (existsElement(i))
                    {
                        var tempListing = driver.FindElementByXPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[1]/h2/a");
                        var tempList    = driver.FindElementByXPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[2]/span[1]");
                        tempTitle   = tempListing.Text;
                        tempLink    = tempListing.GetAttribute("href");
                        tempCompany = tempList.Text;
                        IWebElement location = driver.FindElement(By.XPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[2]/span[2]"));
                        tempLocation = location.Text;
                        IWebElement date = driver.FindElement(By.XPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[1]/span[2]"));
                        tempDate = date.Text;

                        StackOverflow tempJob = new StackOverflow(tempTitle, tempLink, tempCompany, tempLocation, tempDate);
                        stackOverflowJobs.Add(tempJob);
                    }
                }
            }
            driver.Close();
            return(stackOverflowJobs);
        }
Esempio n. 15
0
        private static async Task Run()
        {
            var browser = new ChromeDriver();
            var waiter  = new WebDriverWait(browser, TimeSpan.FromSeconds(10));

            // access sign page
            var url = Configuration["SignUrl"];

            if (!Uri.IsWellFormedUriString(url, UriKind.Absolute))
            {
                InteractExit("无效配置:SignUrl 应该是一个绝对Uri");
            }

            browser.Url = url;

            // wait redirection completed and page fully rendered
            var loginFrame = TryWait(waiter, driver => driver.FindElement(By.Id("loginFrame")));

            // rqeuired sign in
            if (loginFrame != null)
            {
                browser.SwitchTo().Frame("loginFrame");

                var userNameInput = browser.FindElementById("u");
                var passwordInput = browser.FindElementById("p");
                var loginButton   = browser.FindElementById("go");

                var username = Configuration["QQ"];
                var password = Configuration["Password"];

                if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
                {
                    InteractExit("无效的QQ或密码");
                }

                userNameInput.SendKeys(username);
                passwordInput.SendKeys(password);

                loginButton.Click();

                // wait 2s for rendering verification code
                var verificationCode = TryWait(waiter, driver => driver.FindElement(By.Id("tcaptcha_iframe")));
                if (verificationCode != null)
                {
                    browser.SwitchTo().Frame("tcaptcha_iframe");

                    var pendingImg = waiter.Until(driver => driver.FindElement(By.Id("slideBg")));

                    var pendingImgSrc = pendingImg.GetAttribute("src");

                    var uriBuilder = new UriBuilder(pendingImgSrc);

                    uriBuilder.Query = uriBuilder.Query.Replace("img_index=1", "img_index=0");

                    var completeImgSrc = uriBuilder.Uri.AbsoluteUri;

                    var slideBlock = browser.FindElementById("slideBlock");

                    await SlideVerificationCode(pendingImgSrc, completeImgSrc, pendingImg.Size.Width, browser, slideBlock);
                }
            }

            // switch to top
            browser.SwitchTo().DefaultContent();

            var signInBtn = TryWait(waiter, driver => driver.FindElement(By.XPath("/html/body/div[1]/div/div[2]/a")));

            signInBtn.Click();

            browser.Close();
        }
Esempio n. 16
0
        public void WhenISelectTheGermanLanguage()
        {
            IWebDriver driver = new ChromeDriver();

            driver.FindElement(By.Id("de")).Click();
        }
Esempio n. 17
0
        public void GivenIGivenILaunchTheApplication()
        {
            IWebDriver driver = new ChromeDriver();

            driver.Navigate().GoToUrl("https://localhost:44323/Language");
        }
Esempio n. 18
0
 public TestCase()
 {
     isFinished = false;
     chrome = new ChromeDriver();
 }
Esempio n. 19
0
        public void CreateInvoice()
        {
            //---------------------------------------------------------------
            IWebDriver driver = new ChromeDriver();

            driver.Url = "https://dev-manage.liveuptop.com";
            driver.Manage().Window.Maximize();

            var loginPagePO = new LoginPagePO();

            PageFactory.InitElements(driver, loginPagePO);
            var topNavigationPO = new TopNavigationPO();

            PageFactory.InitElements(driver, topNavigationPO);
            var portfolioPO = new PortfolioPagePO();

            PageFactory.InitElements(driver, portfolioPO);

            var commonPageFunctions = new CommonPageFunctions();

            PageFactory.InitElements(driver, commonPageFunctions);

            var tenantChargesPO = new TenantChargesPO();

            PageFactory.InitElements(driver, tenantChargesPO);

            var contactsPO = new ContactsPO();

            PageFactory.InitElements(driver, contactsPO);


            //-------------------------------------------------------------------------------------------------------

            //Enter Username
            loginPagePO.UserName.SendKeys("*****@*****.**");
            //Enter Password
            loginPagePO.Password.SendKeys("Testing1!");
            //Click on Submit Button
            loginPagePO.Submit.Click();

            //-------------------------------------------------------------------------------------------------------


            System.Threading.Thread.Sleep(4000);
            // new Actions(driver).Click(topNavigationPO.GearIcon).Perform();
            topNavigationPO.GearIcon.Click();
            topNavigationPO.ContactDirectory.Click();
            System.Threading.Thread.Sleep(2000);
            contactsPO.AddContact.Click();
            String companyName = commonPageFunctions.randomCharactersGenerator();

            System.Threading.Thread.Sleep(2000);
            contactsPO.AddContactCompanyName.SendKeys(companyName);
            contactsPO.AddContactContinueButton.Click();
            System.Threading.Thread.Sleep(2000);

            commonPageFunctions.VerifyElementInTableExists(driver, contactsPO.ContactsListTable, companyName);

            //driver.FindElement(By.XPath("//*[contains(text(),'74zzR8ul')]")).Click();
            System.Threading.Thread.Sleep(2000);

            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;

            js.ExecuteScript("window.scrollTo(document.body.scrollHeight,0)");

            contactsPO.AddTransactionButton.Click();
            contactsPO.AddInvoiceButton.Click();
            System.Threading.Thread.Sleep(2000);
            contactsPO.selectOrgEntityProp.Click();
            contactsPO.selectFirstFromOrgEntityProp.Click();
            System.Threading.Thread.Sleep(2000);
            contactsPO.DateEditbox.SendKeys("06/20/2019");
            commonPageFunctions.EnterPress(contactsPO.DateEditbox);
            contactsPO.AutoSendDateEditbox.SendKeys("06/20/2019");
            commonPageFunctions.EnterPress(contactsPO.AutoSendDateEditbox);
            contactsPO.LateDateEditbox.SendKeys("06/20/2019");
            commonPageFunctions.EnterPress(contactsPO.LateDateEditbox);
            contactsPO.ClickToAddRow.Click();
            commonPageFunctions.selectFromDropdown(contactsPO.SelectAccount, 1);
            contactsPO.DescriptionTextbox.SendKeys("Description Test");
            System.Threading.Thread.Sleep(2000);
            String randomAmountConverted = commonPageFunctions.randomNumGenConvertToString();

            contactsPO.AmountTextbox.SendKeys(randomAmountConverted);
            System.Threading.Thread.Sleep(2000);
            String retrievedInvoiceAmount = contactsPO.retrievedInvoiceAmount.Text;

            contactsPO.SaveInvoiceButton.Click();
            System.Threading.Thread.Sleep(2000);
            Console.WriteLine("The returned Invoice!!! " + retrievedInvoiceAmount);
            commonPageFunctions.VerifyElementInTableExists(driver, contactsPO.TransactionTable, retrievedInvoiceAmount);
            contactsPO.InvoiceClickFirstRow.Click();
            Console.WriteLine("The returned Invoice again!!! " + retrievedInvoiceAmount);
            System.Threading.Thread.Sleep(2000);

            contactsPO.AmountTextbox.Clear();
            String randomAmountUpdateConverted = commonPageFunctions.randomNumGenUpdateConvertToString();

            contactsPO.AmountTextbox.SendKeys(randomAmountUpdateConverted);
            System.Threading.Thread.Sleep(2000);
            String retrievedInvoiceAmountUpdated = contactsPO.retrievedInvoiceAmount.Text;

            Console.WriteLine(retrievedInvoiceAmountUpdated);
            contactsPO.UpdateInvoiceButton.Click();
            System.Threading.Thread.Sleep(2000);
            commonPageFunctions.VerifyElementInTableExists(driver, contactsPO.TransactionTable, retrievedInvoiceAmountUpdated);
            contactsPO.InvoiceClickFirstRow.Click();
            System.Threading.Thread.Sleep(3000);
            contactsPO.InvoiceMoreButton.Click();
            contactsPO.InvoiceDeleteButton.Click();
            System.Threading.Thread.Sleep(2000);
            contactsPO.InvoiceDeleteConfirmButton.Click();
            System.Threading.Thread.Sleep(2000);
            contactsPO.DeleteContactsButton.Click();
        }
Esempio n. 20
0
 protected Extractor(User user)
 {
     Driver = SeleniumProvider.Driver;
     User   = user;
 }
        public override void RunCommand(object sender)
        {
            var engine           = (IAutomationEngineInstance)sender;
            var convertedOptions = v_SeleniumOptions.ConvertUserVariableToString(engine);
            var vURL             = v_URL.ConvertUserVariableToString(engine);

            IWebDriver webDriver;

            string driverDirectory;

            if (engine.AutomationEngineContext.ScriptEngine != null && engine.AutomationEngineContext.ScriptEngine.IsScheduledOrAttendedTask)
            {
                driverDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), "OpenBots Inc", "OpenBots Studio");
            }
            else
            {
                driverDirectory = AppDomain.CurrentDomain.BaseDirectory;
            }

            switch (v_EngineType)
            {
            case "Chrome":
                ChromeOptions chromeOptions = new ChromeOptions();
                chromeOptions.AddUserProfilePreference("download.prompt_for_download", true);

                if (!string.IsNullOrEmpty(convertedOptions.Trim()))
                {
                    chromeOptions.AddArguments(convertedOptions);
                }

                webDriver = new ChromeDriver(driverDirectory, chromeOptions);
                break;

            case "Firefox":
                string firefoxExecutablePath = @"C:\Program Files\Mozilla Firefox\firefox.exe";
                if (!File.Exists(firefoxExecutablePath))
                {
                    throw new FileNotFoundException($"Could not locate '{firefoxExecutablePath}'");
                }

                FirefoxOptions firefoxOptions = new FirefoxOptions();
                firefoxOptions.BrowserExecutableLocation = firefoxExecutablePath;

                webDriver = new FirefoxDriver(driverDirectory, firefoxOptions);
                break;

            case "Internet Explorer":
                InternetExplorerOptions ieOptions = new InternetExplorerOptions();
                ieOptions.IgnoreZoomLevel = true;

                webDriver = new InternetExplorerDriver(driverDirectory, ieOptions);
                break;

            default:
                throw new Exception($"The selected engine type '{v_EngineType}' is not valid.");
            }

            //add app instance
            webDriver.AddAppInstance(engine, v_InstanceName);

            //handle app instance tracking
            if (v_InstanceTracking == "Keep Instance Alive")
            {
                GlobalAppInstances.AddInstance(v_InstanceName, webDriver);
            }

            switch (v_BrowserWindowOption)
            {
            case "Maximize":
                webDriver.Manage().Window.Maximize();
                break;

            case "Normal":
            case "":
            default:
                break;
            }

            if (!string.IsNullOrEmpty(vURL.Trim()) && vURL.Trim() != "https://")
            {
                try
                {
                    webDriver.Navigate().GoToUrl(vURL);
                }
                catch (Exception ex)
                {
                    if (!vURL.StartsWith("https://"))
                    {
                        webDriver.Navigate().GoToUrl("https://" + vURL);
                    }
                    else
                    {
                        throw ex;
                    }
                }
            }
        }
Esempio n. 22
0
 public static void Initialize()
 {
     Driver      = new ChromeDriver();
     Initialised = true;
 }
Esempio n. 23
0
        //Wait ajax load
        static void WaitAJAX(ChromeDriver webDriver, TimeSpan waitForEle)
        {
            WebDriverWait wait = new WebDriverWait(webDriver, waitForEle);

            wait.Until(driver => (bool)((IJavaScriptExecutor)driver).ExecuteScript("return jQuery.active == 0"));
        }
Esempio n. 24
0
        static void Main(string[] args)
        {
            IWebDriver driver = new ChromeDriver("./");

            driver.Navigate().GoToUrl("https://gabrielecirulli.github.io/2048/");
            Actions builder = new Actions(driver);

            string  json = File.ReadAllText($"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}/network.json");
            Network net  = JsonConvert.DeserializeObject <Network>(json);

            while (true)
            {
                IWebElement tiles = driver.FindElement(By.ClassName("tile-container"));
                System.Collections.ObjectModel.ReadOnlyCollection <IWebElement> children = tiles.FindElements(By.XPath(".//*"));

                double[] inputs = new double[16];
                foreach (IWebElement child in children)
                {
                    string className = child.GetAttribute("class");
                    if (className != "tile-inner")
                    {
                        string[] blocks    = className.Split(' ');
                        int      tileValue = int.Parse(blocks[1].Substring(5));

                        int y     = int.Parse(blocks[2].Substring(14, 1)) - 1;
                        int x     = int.Parse(blocks[2].Substring(16, 1)) - 1;
                        int index = (y * 4 + x) + 4; //single dimension position offset by 4

                        //tile-position-#-# 2dposition and translate to 1d array, if the new value is bigger replace, otherwise skip
                        if (inputs[index] < tileValue)
                        {
                            inputs[index] = tileValue;
                        }
                    }
                }

                // determine blocked move inputs


                double[] outputs = net.Compute(inputs);
                int      pick    = Array.IndexOf(outputs, outputs.Max());
                switch (pick)
                {
                case 0:
                    builder.SendKeys("w");
                    break;

                case 1:
                    builder.SendKeys("s");
                    break;

                case 2:
                    builder.SendKeys("a");
                    break;

                case 3:
                    builder.SendKeys("d");
                    break;
                }
                builder.Build().Perform();
            }
        }
        static void Main(string[] args)
        {
            //Initializing List
            List <EntryModel> Data = new List <EntryModel>();

            //Getting tarted on the first page

            IWebDriver driver = new ChromeDriver();
            var        id     = 1;

            driver.Navigate().GoToUrl("https://www.voedingswaardetabel.nl/voedingswaarde/voedingsmiddel/?id=" + id);
            Thread.Sleep(6000);
            IWebElement body   = driver.FindElement(By.TagName("body"));
            IWebElement iframe = body.FindElement(By.TagName("iframe"));

            driver.SwitchTo().Frame(iframe);
            var button = driver.FindElement(By.Id("acceptAll"));

            button.Click();
            Data.Clear();

            for (var i = 2; i < 1370; i++)
            {
                IWebElement SearchFrom;
                //Locating the first 2 rowitems
                try
                {
                    SearchFrom = driver.FindElement(By.Id("prodgramsanchor"));
                }
                catch
                {
                    Console.WriteLine($"Could  not find 'SEARCHFORM' with id: {id}");
                    driver.Navigate().GoToUrl("https://www.voedingswaardetabel.nl/voedingswaarde/voedingsmiddel/?id=" + i);
                    continue;
                }

                var rowitems = SearchFrom.FindElements(By.ClassName("rowitem"));
                var rowitem1 = rowitems[0];
                var rowitem2 = rowitems[1];
                var waarde1  = rowitem1.FindElement(By.ClassName("floatright")).Text;
                var waarde2  = rowitem2.FindElement(By.ClassName("floatright")).Text;

                IWebElement searchForColumnRight = driver.FindElement(By.ClassName("ColumnRight"));
                var         allPTags             = searchForColumnRight.FindElements(By.TagName("p"));
                var         description          = allPTags[0].Text;


                // Adding scraped values to variables
                var productName  = driver.FindElement(By.TagName("h2"))?.Text;
                var productGroup = driver.FindElement(By.Id("ctl00_cphMain_hplPrdGrp")).Text;

                var parsedGevoelswaarde    = double.TryParse(waarde1, out double w1);
                var parsedGezonheidswaarde = double.TryParse(waarde2, out double w2);



                var gevoelsWaarde     = parsedGevoelswaarde ? w1 : 0;
                var gezondheidsWaarde = parsedGezonheidswaarde ? w2 : 0;


                double portionInGrams;
                try
                {
                    portionInGrams = double.TryParse(driver.FindElement(By.Id("gpp")).Text, out double w) ? w : 0;
                }
                catch
                {
                    portionInGrams = 100.0;
                }

                var kcal             = double.TryParse(driver.FindElement(By.Id("lblKcal")).Text, out double w3) ? w3 : 0;
                var kJoule           = double.TryParse(driver.FindElement(By.Id("lblKjoule")).Text, out double w5) ? w5 : 0;
                var water            = double.TryParse(driver.FindElement(By.Id("lblWater")).Text, out double w6) ? w6 : 0;
                var proteine         = double.TryParse(driver.FindElement(By.Id("lblEiwit")).Text, out double w7) ? w7 : 0;
                var fat              = double.TryParse(driver.FindElement(By.Id("lblVet")).Text, out double w8) ? w8 : 0;
                var saturatedFat     = double.TryParse(driver.FindElement(By.Id("lblVerz")).Text, out double w9) ? w9 : 0;
                var sNotSaturatedFat = double.TryParse(driver.FindElement(By.Id("lblEov")).Text, out double w10) ? w10 : 0;
                var pNotSaturatedFat = double.TryParse(driver.FindElement(By.Id("lblMov")).Text, out double w11) ? w11 : 0;
                var cholestrol       = double.TryParse(driver.FindElement(By.Id("lblChol")).Text, out double w12) ? w12 : 0;
                var carbs            = double.TryParse(driver.FindElement(By.Id("lblKoolh")).Text, out double w13) ? w13 : 0;
                var sugar            = double.TryParse(driver.FindElement(By.Id("lblSuikers")).Text, out double w14) ? w14 : 0;
                var fibers           = double.TryParse(driver.FindElement(By.Id("lblVoedv")).Text, out double w15) ? w15 : 0;

                var vitA   = double.TryParse(driver.FindElement(By.Id("lblVitA")).Text, out double v1) ? v1 : 0;
                var vitB1  = double.TryParse(driver.FindElement(By.Id("lblVitB1")).Text, out double v2) ? v2 : 0;
                var vitB2  = double.TryParse(driver.FindElement(By.Id("lblVitB2")).Text, out double v3) ? v3 : 0;
                var vitB6  = double.TryParse(driver.FindElement(By.Id("lblVitB6")).Text, out double v4) ? v4 : 0;
                var vitB11 = double.TryParse(driver.FindElement(By.Id("lblVitB11")).Text, out double v5) ? v5 : 0;
                var vitB12 = double.TryParse(driver.FindElement(By.Id("lblVitB12")).Text, out double v6) ? v6 : 0;
                var vitC   = double.TryParse(driver.FindElement(By.Id("lblVitC")).Text, out double v7) ? v7 : 0;
                var vitD   = double.TryParse(driver.FindElement(By.Id("lblVitD")).Text, out double v8) ? v8 : 0;

                var natrium   = double.TryParse(driver.FindElement(By.Id("lblMinNa")).Text, out double m1) ? m1 : 0;
                var kalium    = double.TryParse(driver.FindElement(By.Id("lblMinK")).Text, out double m2) ? m2 : 0;
                var calcium   = double.TryParse(driver.FindElement(By.Id("lblMinCa")).Text, out double m3) ? m3 : 0;
                var fosfor    = double.TryParse(driver.FindElement(By.Id("lblMinP")).Text, out double m4) ? m4 : 0;
                var ijzer     = double.TryParse(driver.FindElement(By.Id("lblMinFe")).Text, out double m5) ? m5 : 0;
                var magnesium = double.TryParse(driver.FindElement(By.Id("lblMinMg")).Text, out double m6) ? m6 : 0;
                var koper     = double.TryParse(driver.FindElement(By.Id("lblMinCu")).Text, out double m7) ? m7 : 0;
                var zink      = double.TryParse(driver.FindElement(By.Id("lblMinZn")).Text, out double m8) ? m8 : 0;

                //assigning scraped values to EntryModel Object

                var entry = new EntryModel();

                entry.ProductNaam          = productName;
                entry.ProductGroep         = productGroup;
                entry.Beschrijving         = description;
                entry.Gevoelswaarde        = gevoelsWaarde;
                entry.Gezondheidswaarde    = gezondheidsWaarde;
                entry.ProductGewichtPortie = portionInGrams;
                entry.Kcal                    = kcal;
                entry.KJoule                  = kJoule;
                entry.Water                   = water;
                entry.Proteine                = proteine;
                entry.Vet                     = fat;
                entry.VerzadigdVet            = saturatedFat;
                entry.EnkelvoudigVerzadigdVet = sNotSaturatedFat;
                entry.MeervoudigVerzadigdVet  = pNotSaturatedFat;
                entry.Cholestrol              = cholestrol;
                entry.Koolhydraten            = carbs;
                entry.Suikers                 = sugar;
                entry.Voedingsvezels          = fibers;

                entry.VitamineA   = vitA;
                entry.VitamineB1  = vitB1;
                entry.VitamineB2  = vitB2;
                entry.VitamineB6  = vitB6;
                entry.VitamineB11 = vitB11;
                entry.VitamineB12 = vitB12;
                entry.VitamineC   = vitC;
                entry.VitamineD   = vitD;

                entry.Natrium   = natrium;
                entry.Kalium    = kalium;
                entry.Calcium   = calcium;
                entry.FosFor    = fosfor;
                entry.Ijzer     = ijzer;
                entry.Magnesium = magnesium;
                entry.Koper     = koper;
                entry.Zink      = zink;


                var entryString = JsonConvert.SerializeObject(entry, Formatting.Indented);
                File.WriteAllText($"C:\\scrapeWithDescription1\\{i}.json", entryString);


                //add entrymodel object in to list Data

                Data.Add(entry);

                Thread.Sleep(3000);
                driver.Navigate().GoToUrl("https://www.voedingswaardetabel.nl/voedingswaarde/voedingsmiddel/?id=" + i);
                Thread.Sleep(3000);
            }

            //Data.Clear();

            //List<EntryModel> entries = new List<EntryModel>();
            //for (var i = 2; i < 1370; i++)
            //{
            //    if (!File.Exists($"C:\\scrapeWithDescription\\{i}.json")) continue;
            //    var content = File.ReadAllText($"C:\\scrapeWithDescription1\\{i}.json");
            //    var pContent = JsonConvert.DeserializeObject<EntryModel>(content);
            //    entries.Add(pContent);
        }
Esempio n. 26
0
 public void Initialize()
 {
     Driver  = new ChromeDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
     Builder = new Actions(Driver);
 }
Esempio n. 27
0
        public void CadastroDePJ()
        {
            #region Abrir o Chrome
            //inicializando o chrome
            IWebDriver driver = new ChromeDriver();
            driver.Navigate().GoToUrl("http://main.safety8.local/#/login?cnpj=72.408.271%2F0001-91");
            driver.Manage().Window.Maximize();
            System.Threading.Thread.Sleep(3000);
            #endregion

            #region Login
            var cnpj = driver.FindElement(By.Id("cnpj"));
            cnpj.SendKeys("72408271000191");
            {
                var     elemento = driver.FindElement(By.CssSelector(".logo-login-q"));
                Actions builder  = new Actions(driver);
                builder.MoveToElement(elemento).ClickAndHold().Perform();
            }

            driver.FindElement(By.CssSelector(".container-fluid")).Click();
            driver.FindElement(By.CssSelector(".ng-scope > .animated")).Click();
            {
                var dropdown = driver.FindElement(By.CssSelector(".ng-scope > .animated"));
                dropdown.FindElement(By.XPath("/html/body/div[5]/div[2]/div[2]/div/div/div/div/div/div[2]/div[2]/select/option[3]")).Click();
                //driver.Quit();
            }

            driver.FindElement(By.CssSelector(".ng-scope > .animated")).Click();
            driver.FindElement(By.Id("usuario")).Click();
            driver.FindElement(By.Id("usuario")).SendKeys("francisco");
            driver.FindElement(By.Id("senha")).SendKeys("F123456");
            driver.FindElement(By.CssSelector(".button-login-q")).Click();
            #endregion

            System.Threading.Thread.Sleep(2000); //Aguardando a pagina carregar
            driver.FindElement(By.Id("botaoMenu")).Click();
            System.Threading.Thread.Sleep(1000); //Aguardando a pagina carregar
            driver.FindElement(By.CssSelector("div:nth-child(3) > ul > li:nth-child(2) > a > span")).Click();
            System.Threading.Thread.Sleep(1000); //Aguardando a pagina carregar
            driver.FindElement(By.CssSelector("div:nth-child(5) > div.container-fluid > div:nth-child(3) > div.index-conteudo.ng-scope.animated.fadeIn.conteudo-geral > div > div > form > div.paddingCard.col-lg-7.col-md-12.col-sm-12.col-xs-12 > div > div.clearfix.card-header.bg-card-teal > button")).Click();
            //Informa Nome
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cli_nome")).Click();
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cli_nome")).SendKeys("MONSTROS SA");
            //Informa Tipo de Pessoa
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cli_tipo_pessoa")).Click();
            driver.FindElement(By.LinkText("Jurídica")).Click();
            //Informa CNPJ
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cli_cpf_cnpj")).Click();
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cli_cpf_cnpj")).SendKeys("16.930.071/0001-23");
            //Data de Nascimento
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cli_data_nascimento")).Click();
            driver.FindElement(By.CssSelector(".today")).Click();
            //Ponto de venda
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_pto_codigo")).Click();
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_pto_codigo")).SendKeys("matriz");
            driver.FindElement(By.LinkText("MATRIZ")).Click();
            //Vendedor
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_vend_codigo")).Click();
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_vend_codigo")).SendKeys("francisco");
            driver.FindElement(By.LinkText("FRANCISCO")).Click();
            //Origem
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cliori_codigo")).Click();
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cliori_codigo")).SendKeys("geral");
            driver.FindElement(By.LinkText("GERAL")).Click();
            //Sroll na tela
            driver.ExecuteJavaScript("window.scroll(0,1000)");
            //Endereço
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_tpender_codigo")).Click();
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_tpender_codigo")).SendKeys("residencial");
            driver.FindElement(By.LinkText("Residencial")).Click();
            driver.FindElement(By.Id("campoCep")).Click();
            driver.FindElement(By.Id("campoCep")).SendKeys("84025-350");
            //Quando digita o CEP ele carrega a tela para trazer o endereço
            {
                var     element = driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_ender_numero"));
                Actions builder = new Actions(driver);
                builder.MoveToElement(element).ClickAndHold().Perform();
            }
            {
                var     element = driver.FindElement(By.CssSelector(".efeitoOverlay"));
                Actions builder = new Actions(driver);
                builder.MoveToElement(element).Release().Perform();
            }
            driver.FindElement(By.CssSelector(".container-fluid")).Click();
            driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_ender_numero")).SendKeys("350");
            //Salvar
            driver.FindElement(By.CssSelector("div:nth-child(2) > .btn > span:nth-child(2)")).Click();
        }
Esempio n. 28
0
 public AddClienteCpfInvalido()
 {
     driver = new ChromeDriver();
 }
Esempio n. 29
0
 public ChromeFixture()
 {
     driver = new ChromeDriver();
 }
Esempio n. 30
0
        public override IList <MoneyStateModel> Scrape(ScraperConfigurationModel configuration, ChromeDriver driver)
        {
            driver.Navigate().GoToUrl(@"https://my.modulbank.ru/");
            var name = GetElement(driver, By.Name("tel"));
            var pass = GetElement(driver, By.Name("password"));

            name.Click();
            foreach (var k in configuration.Login)
            {
                driver.Keyboard.SendKeys(k.ToString());
                Thread.Sleep(100);
            }
            pass.Click();
            driver.Keyboard.SendKeys(configuration.Password);

            var now = DateTime.UtcNow;

            driver.Keyboard.PressKey(Keys.Return);

            GetElement(driver, By.Name("smsCode")).Click();

            bool success = false;

            while (DateTime.UtcNow - now < TimeSpan.FromMinutes(15))
            {
                var lastSms = _repository.Set <SmsModel>().Where(v => v.When > now.AddMinutes(-3)).OrderByDescending(v => v.When).FirstOrDefault();
                if (lastSms?.Message.Contains("Код подтверждения") == true)
                {
                    var code = new string(lastSms.Message.Where(char.IsDigit).ToArray());
                    driver.Keyboard.SendKeys(code);
                    success = true;
                    break;
                }
                Thread.Sleep(100);
            }

            if (!success)
            {
                throw new Exception();
            }

            Thread.Sleep(15000); // this should be enough for all data to load...

            var accounts = driver.FindElementsByClassName("bank_account");

            var result = new List <MoneyStateModel>();

            foreach (var acc in accounts)
            {
                var title = acc.FindElement(By.ClassName("bank_account_name")).Text;

                var amount = acc.FindElement(By.ClassName("bank_account_money")).Text;

                amount = new string(amount.Where(v => char.IsDigit(v) || v == ',').ToArray());

                var doubleAmount = double.Parse(amount, new NumberFormatInfo()
                {
                    NumberDecimalSeparator = ","
                });

                result.Add(Money(title, doubleAmount, "RUB"));
            }
            return(result);
        }
Esempio n. 31
0
 public void ButtonByName(string path, ChromeDriver driver)
 {
     var button = driver.FindElementByName(path);
     driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30));
     button.Click();
 }
Esempio n. 32
0
        public bool Start_Download(DataTable csvTable)
        {
            Progress progress = new Progress();

            progress.Set_Max = csvTable.Rows.Count + 6;
            progress.Show();

            progress.Set_Text = "アカウント情報を取得しています...";
            progress.Add_ProgressBar();
            if (!Input_Account())
            {
                progress.Quit();
                return(false);
            }

            progress.Set_Text = "SSH接続を試行しています...";
            progress.Add_ProgressBar();
            if (!Connect_SSH())
            {
                portDynamic.Stop();
                portDynamic.Dispose();
                sshClient.Disconnect();
                sshClient.Dispose();
                progress.Quit();
                return(false);
            }

            progress.Set_Text = "Chromeの準備をしています...";
            progress.Add_ProgressBar();
            ChromeOptions options = Set_Options();

            driver = new ChromeDriver(options);
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

            progress.Set_Text = "UEC統合認証中...";
            progress.Add_ProgressBar();
            if (!UEC_Authorization())
            {
                Terminate_Chrome();
                progress.Quit();
                return(false);
            }

            progress.Set_Text = "シラバス検索ページへ遷移中...";
            progress.Add_ProgressBar();
            if (!Goto_SearchPage())
            {
                Terminate_Chrome();
                progress.Quit();
                return(false);
            }
            foreach (DataRow row in csvTable.Rows)
            {
                progress.Set_Text = $"{string.Join(",", row.ItemArray)}を取得中...";
                progress.Add_ProgressBar();
                if (!Search_Syllabus(row))
                {
                    MessageBox.Show($"次の行のシラバス取得に失敗しました。項目を見直してください。\n{string.Join(",", row.ItemArray)}");
                    if (!Goto_SearchPage())
                    {
                        Terminate_Chrome();
                        progress.Quit();
                        return(false);
                    }
                    continue;
                }
                if (!Download_and_Reference_Syllabus(row))
                {
                    MessageBox.Show($"次の行のシラバス取得に失敗しました。項目を見直してください。\n{string.Join(",", row.ItemArray)}");
                    if (!Goto_SearchPage())
                    {
                        Terminate_Chrome();
                        progress.Quit();
                        return(false);
                    }
                }
                if (!Goto_SearchPage())
                {
                    Terminate_Chrome();
                    progress.Quit();
                    return(false);
                }
            }
            progress.Set_Text = "Chromeの終了処理中...";
            progress.Add_ProgressBar();
            Terminate_Chrome();
            progress.Quit();
            return(true);
        }
Esempio n. 33
0
 public void Navigate(string path, ChromeDriver driver)
 {
     driver.Navigate().GoToUrl(path);
     driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 100));
 }
        static void Main(string[] args)
        {
            try
            {
                ObjectLibrary.Helper hlpr = new ObjectLibrary.Helper();
                string batchfile = ConfigurationManager.AppSettings["batchfile"];
                string brwsr = ConfigurationManager.AppSettings["browser"];
                string testfolder = ConfigurationManager.AppSettings["testfolder"];
                string ffbin = ConfigurationManager.AppSettings["ffbin"];
                DataTable dtbatch = hlpr.dtFromExcelFile(batchfile, "BatchSheet");
                IWebDriver drv = null;
                IWebElement elem = null;
             ///   List<IWebElement> Iwebcollection = null;
                System.Collections.ObjectModel.ReadOnlyCollection<IWebElement> Iwebcollection = null;

                foreach (DataRow dr in dtbatch.Rows)
                {

                    string flagexec = dr["executeflag"].ToString();
                    if (flagexec.ToLower() == "y")
                    {
                        string scriptname = Path.Combine(testfolder, dr["scriptname"].ToString());

                        #region SCRIPTEXECUTION
                        DataTable dtscript = hlpr.dtFromExcelFile(scriptname, "Sheet1");
                        WebDriverWait wait = null;
                        foreach (DataRow drscript in dtscript.Rows)
                        {
                            if (drscript["Comment"].ToString() != null)
                            {
                                string comment = drscript["Comment"].ToString();
                            }
                            string keyword = drscript["Keyword"].ToString();
                            string url = drscript["URL"].ToString();
                            string index = drscript["Index"].ToString();
                            string fieldname = drscript["FieldName"].ToString();
                            string subcontrol = drscript["Subcontrol"].ToString();
                            string searchby = drscript["SearchBy"].ToString();
                            string searchvalue = drscript["SearchValue"].ToString();
                            string datavalue = drscript["DataValue"].ToString();
                            string testcaseid = drscript["testcaseID"].ToString();
                            string dynatext = drscript["DynaText"].ToString();

                            switch (keyword.ToLower())
                            {
                                #region LaunchBrowser
                                case "launchbrowser":
                                    {
                                        try
                                        {
                                            if (brwsr.ToLower() == "ie")
                                            {
                                                drv = new InternetExplorerDriver();
                                                wait = new WebDriverWait(drv, TimeSpan.FromMinutes(5.00));
                                            }
                                            else if (brwsr.ToLower() == "firefox")
                                            {
                                                FirefoxBinary bin = new FirefoxBinary(ffbin);
                                                FirefoxProfile ffprofile = new FirefoxProfile();
                                                drv = new FirefoxDriver(bin,ffprofile);
                                                wait = new WebDriverWait(drv, TimeSpan.FromMinutes(5.00));
                                            }
                                            else if (brwsr.ToLower() == "chrome")
                                            {

                                                drv = new ChromeDriver();
                                                wait = new WebDriverWait(drv, TimeSpan.FromMinutes(5.00));

                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                            hlpr.LogtoTextFile("Exception from keyword launchbrowser: " + ex.ToString());
                                        }
                                        break;
                                    }
                                #endregion LaunchBrowser

                                #region Navigate
                                case "navigatetourl":
                                    {
                                        try
                                        {
                                            drv.Navigate().GoToUrl(url);
                                        }
                                        catch (Exception ex)
                                        {
                                            hlpr.LogtoTextFile("Exception from keyword navigatetourl: " + ex.ToString());
                                        }

                                        break;

                                    }
                                #endregion Navigate

                                #region ClickLink
                                case "clicklink":
                                    {
                                        try
                                        {
                                            hlpr.LogtoTextFile("Looking up for " + fieldname);
                                            switch (searchby.ToLower())
                                            {
                                                case "linktext":
                                                    {
                                                        try
                                                        {
                                                            elem = wait.Until(ExpectedConditions.ElementExists(By.LinkText(searchvalue)));
                                                            elem.Click();
                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                                case "partiallinktext":
                                                    {
                                                        try
                                                        {
                                                            elem = wait.Until(ExpectedConditions.ElementExists(By.PartialLinkText(searchvalue)));
                                                            elem.Click();
                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                                case "divtitle":
                                                    {
                                                        try
                                                        {
                                                            drv.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(40));
                                                            Iwebcollection = drv.FindElements(By.TagName("div"));
                                                            foreach (IWebElement inddivelem in Iwebcollection)
                                                            {
                                                                // inddivelem.FindElement(By.TagName(searchvalue))
                                                                //  elem = wait.Until(ExpectedConditions.ElementExists(By.TagName(searchvalue)));
                                                             //   elem = wait.Until(ExpectedConditions.ElementExists(By.TagName("div")));
                                                                if (inddivelem.GetAttribute("title") == searchvalue)
                                                                {
                                                                    inddivelem.Click();
                                                                    break;
                                                                }
                                                            }
                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                            hlpr.LogtoTextFile("Exception from keyword clicklink " + ex.Message);
                                        }
                                        break;
                                    }
                                #endregion Clicklink

                                #region EnterText
                                case "entertext":
                                    {
                                        try
                                        {
                                            hlpr.LogtoTextFile("Looking up for " + fieldname);
                                            switch (searchby.ToLower())
                                            {
                                                case "name":
                                                    {
                                                        try
                                                        {

                                                            elem = wait.Until(ExpectedConditions.ElementExists(By.Name(searchvalue)));
                                                            enterdata(elem, datavalue,dynatext);

                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                                case "id":
                                                    {
                                                        try
                                                        {
                                                            elem = wait.Until(ExpectedConditions.ElementExists(By.Id(searchvalue)));
                                                            enterdata(elem, datavalue, dynatext);
                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                                case "xpath":
                                                    {
                                                        try
                                                        {
                                                            elem = wait.Until(ExpectedConditions.ElementExists(By.XPath(searchvalue)));
                                                            enterdata(elem, datavalue, dynatext);
                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                            hlpr.LogtoTextFile("Exception from keyword clicklink " + ex.Message);
                                        }
                                        break;
                                    }
                                #endregion EnterText

                                #region EnterTextArea
                                case "entertextarea" :
                                    {
                                        try
                                        {
                                            hlpr.LogtoTextFile("Looking up for " + fieldname);
                                            switch (searchby.ToLower())
                                            {
                                                case "name":
                                                    {
                                                        try
                                                        {

                                                            elem = wait.Until(ExpectedConditions.ElementExists(By.Name(searchvalue)));
                                                            enterdata(elem, datavalue, dynatext);

                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                                case "id":
                                                    {
                                                        try
                                                        {
                                                            elem = wait.Until(ExpectedConditions.ElementExists(By.Id(searchvalue)));
                                                            enterdata(elem, datavalue, dynatext);
                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                                case "xpath":
                                                    {
                                                        try
                                                        {
                                                            elem = wait.Until(ExpectedConditions.ElementExists(By.XPath(searchvalue)));
                                                            enterdata(elem, datavalue, dynatext);
                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                            hlpr.LogtoTextFile("Exception from keyword clicklink " + ex.Message);
                                        }
                                        break;
                                    }
                                #endregion

                                #region ClickButton
                                case "clickbutton":
                                    {
                                        hlpr.LogtoTextFile("Looking up for " + fieldname);
                                        try
                                        {
                                            switch (searchby.ToLower())
                                            {
                                                case "name":
                                                    {
                                                        try
                                                        {
                                                            if (datavalue == "1")
                                                            {
                                                                elem = wait.Until(ExpectedConditions.ElementExists(By.Name(searchvalue)));
                                                                elem.Click();
                                                            }

                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                                case "id":
                                                    {
                                                        try
                                                        {
                                                            if (datavalue == "1")
                                                            {
                                                                elem = wait.Until(ExpectedConditions.ElementExists(By.Id(searchvalue)));
                                                                elem.Click();
                                                            }
                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                                case "xpath":
                                                    {
                                                        try
                                                        {
                                                            if (datavalue == "1")
                                                            {
                                                                elem = wait.Until(ExpectedConditions.ElementExists(By.XPath(searchvalue)));
                                                                elem.Click();
                                                            }
                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                                case "value":
                                                    {
                                                        try
                                                        {
                                                            drv.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(40));
                                                            Iwebcollection = drv.FindElements(By.TagName("input"));
                                                            foreach (IWebElement inddivelem in Iwebcollection)
                                                            {
                                                                // inddivelem.FindElement(By.TagName(searchvalue))
                                                                //  elem = wait.Until(ExpectedConditions.ElementExists(By.TagName(searchvalue)));
                                                                elem = wait.Until(ExpectedConditions.ElementExists(By.TagName("input")));
                                                                if (inddivelem.GetAttribute("value") == searchvalue)
                                                                {
                                                                    inddivelem.Click();
                                                                    break;

                                                                }
                                                            }
                                                        }
                                                        catch (Exception ex)
                                                        {
                                                            hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + "  " + ex.Message);
                                                        }
                                                        break;
                                                    }
                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                            hlpr.LogtoTextFile("Exception from keyword clicklink " + ex.Message);
                                        }
                                        break;
                                    }
                                #endregion ClickButton

                                #region SelectRadioButton

                                #endregion SelectRadioButton

                                #region VerifyTextonPage
                                case "verifytextonpage":
                                    {

                                        string acttext = drv.FindElement(By.TagName("body")).Text;
                                        hlpr.counter = 1;
                                        hlpr.AreEqual(testcaseid, fieldname, "text", searchvalue, acttext, ObjectLibrary.Helper.CompareType.contains);
                                        break;
                                    }

                                #endregion VerifyTextPage

                                #region VerifyTable

                                #endregion VerifyTable

                                default:
                                    {

                                        hlpr.LogtoTextFile("Not a Valid keyword " + keyword);
                                        break;
                                    }

                            }

                        }
                        #endregion SCRIPTEXECUTION
                    }
                    System.Threading.Thread.Sleep(5000);
                    if (drv != null)
                    {
                        drv.Quit();
                    }
                }
                hlpr.LogtoFileCSV(hlpr.dtRep);
                Console.WriteLine("Exceution Complete Check Results at Configured Paths");

                System.Threading.Thread.Sleep(3000);

            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception in Framewok " + ex.Message);
            }
        }
Esempio n. 35
0
 public void StartBrowser()
 {
     this.driver = new ChromeDriver();  // Project and job names are inferred.
 }
Esempio n. 36
0
        public void Setup()
        {
            IWebDriver driver = new ChromeDriver();

            driver.Navigate().GoToUrl("https://www.globalsqa.com/demo-site/draganddrop");
        }
Esempio n. 37
0
 public LoginPage(ChromeDriver browser)
 {
     this.browser = browser;
 }
Esempio n. 38
0
        /// <summary>
        /// Utility to download all your Fit files from the Garmin Portal
        /// Uses screenscraping to login / fetch activity list
        /// Works as at 26 Jan 2019
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            using (var driver = new ChromeDriver())
            {
                //Settings
                var username   = "******";
                var password   = "******";
                var destFolder = @"c:\temp\";

                //Login to Garmin Portal
                driver.Navigate().GoToUrl("https://connect.garmin.com/en-US/signin");
                driver.SwitchTo().DefaultContent();

                var containerFrame = driver.FindElement(By.Id("gauth-widget-frame-gauth-widget"));
                driver.SwitchTo().Frame(containerFrame);

                var userNameField     = driver.FindElementById("username");
                var userPasswordField = driver.FindElementById("password");
                var loginButton       = driver.FindElementById("login-btn-signin");

                userNameField.SendKeys(username);
                userPasswordField.SendKeys(password);
                loginButton.Click();

                //Move to Activities page
                driver.Navigate().GoToUrl("https://connect.garmin.com/modern/activities");

                //Now fetch json list of activities
                //TODO: I only have 100 activities so not sure what's the limit you can fetch in a single request - Set to 500 in this example
                driver.Navigate().GoToUrl("https://connect.garmin.com/modern/proxy/activitylist-service/activities/search/activities?limit=500&start=0");
                var     json       = driver.FindElementByTagName("body");
                dynamic activities = JArray.Parse(json.Text);

                //Here we use a webclient to download each Activity zip file, so we have to pass
                //in the Cookies from the Selenium session to the WebClient
                using (var client = new WebClient())
                {
                    var cookies = driver.Manage().Cookies.AllCookies;
                    client.Headers[HttpRequestHeader.Cookie] = string.Join("; ", cookies.Select(c => string.Format("{0}={1}", c.Name, c.Value)));

                    foreach (var activity in activities)
                    {
                        //Get an activity zip file
                        var url      = $"https://connect.garmin.com/modern/proxy/download-service/files/activity/{activity.activityId}";
                        var filename = $"{activity.startTimeLocal}-{activity.activityName}-{activity.activityId}".Replace(" ", "").Replace(":", "");
                        client.DownloadFile(url, $"{destFolder}{filename}.zip");

                        //Extract the fit file from it
                        using (ZipArchive archive = ZipFile.OpenRead($"{destFolder}{filename}.zip"))
                        {
                            var fitFile = archive.Entries[0];
                            fitFile.ExtractToFile($"{destFolder}{filename}.fit", true);

                            //Set last-modified of the fit file to the time the activity started
                            var fileTime = DateTime.ParseExact(activity.startTimeLocal.ToString(), "yyyy-MM-dd HH:mm:ss", null);
                            File.SetLastWriteTime($"{destFolder}{filename}.fit", fileTime);
                        }
                    }
                }

                driver.Close();
            }
        }
Esempio n. 39
0
        static void Main(string[] args)
        {
            //Declaration
                //l = phone numbers, quotation number, desc of the records, entity, submission date , submission time, name of user
                List<string> l = new List<string>();
                List<string> quotation = new List<string>();
                List<string> desc = new List<string>();
                List<string> entity = new List<string>();
                List<string> subDate = new List<string>();
                List<string> subTime = new List<string>();
                List<string> name = new List<string>();
                List<string> kw = new List<string>();
                Dictionary<string, string> dict = new Dictionary<string, string>();
                int numbrecords = 0;
                string filename = "";

                #region Load google chrome
                // Initialize the Chrome Driver
                using (var driver = new ChromeDriver())
                {
                    LoadFile(ref l, ref dict);

                    // Go to the home page
                    driver.Navigate().GoToUrl("http://www.gebiz.gov.sg/scripts/main.do?sourceLocation=openarea&select=tenderId");

                    #region autofill and extract data from GeBiz webpage
                    foreach (var val in l)
                    {
                        //Get the page elements

                        var fromdate = driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[2]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[5]/td[4]/input");
                        var todate = driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[2]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[5]/td[6]/input");
                        var keyword = driver.FindElementByName("searchByDesc");
                        new SelectElement(driver.FindElement(By.Name("dateType"))).SelectByIndex(1);
                        var submitbutton = driver.FindElementByName("submitAction");

                        fromdate.SendKeys(DateTime.Now.AddDays(-1).ToString("dd/MM/yyyy"));
                        todate.SendKeys(DateTime.Now.AddDays(-1).ToString("dd/MM/yyyy"));

                        keyword.SendKeys(val);

                        //click the submit button
                        submitbutton.Click();

                        if (driver.FindElements(By.XPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[2]/td")).Count == 1)
                        {
                            driver.Navigate().GoToUrl("http://www.gebiz.gov.sg/scripts/main.do?sourceLocation=openarea&select=tenderId");
                        }
                        else
                        {

                            if (driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[2]/td").Text.Equals("No data found"))
                            {
                                Console.WriteLine("No Data Found");
                                driver.Navigate().GoToUrl("http://www.gebiz.gov.sg/scripts/main.do?sourceLocation=openarea&select=tenderId");
                            }
                            else
                            {
                                #region Checking the number of records
                                for (int j = 11; j > 1; j--)
                                {
                                    //select the records by row
                                    if (driver.FindElements(By.XPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[" + j + "]")).Count == 1)
                                    {
                                        Console.WriteLine(driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[2]/td").Text);
                                        numbrecords = j + 1;
                                        #region Storing quotation and desc to list
                                        for (int i = 2; i < numbrecords; i++)
                                        {
                                            //get the record from the current row on the quotation col
                                            quotation.Add(driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[" + i + "]/td[2]/table/tbody/tr[1]/td/a/b").Text);
                                            //get the record from the current row on the description col
                                            desc.Add(driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[" + i + "]/td[3]/table/tbody/tr[1]/td").Text);
                                            //get the record from the current row on entity from description col
                                            entity.Add(RemoveWord(driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[" + i + "]/td[3]/table/tbody/tr[2]/td").Text));
                                            //get the record from the current row on submission date from closing date/time col
                                            subDate.Add(driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[" + i + "]/td[5]/table/tbody/tr[1]/td").Text);
                                            //get the record from the current row on submission time from closing date/time col
                                            subTime.Add(driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[" + i + "]/td[5]/table/tbody/tr[2]/td").Text);
                                            //add the name of the organisation that the keyword belong to
                                            name.Add(dict[val]);
                                            //add the keyword
                                            kw.Add(val);
                                        }
                                        driver.Navigate().GoToUrl("http://www.gebiz.gov.sg/scripts/main.do?sourceLocation=openarea&select=tenderId");
                                        break;
                                        #endregion
                                    }
                                }
                                #endregion
                            }
                        }
                    }
                    #endregion
                }
                #endregion
                //saving to excel file
                filename = SaveExcel();

                ExportData(filename, ref quotation, ref desc, ref entity, ref subDate, ref subTime, ref name, ref kw);
        }
Esempio n. 40
0
        public void AnouthorizedAccesEnrollment()
        {
            IWebDriver webDriver = new ChromeDriver();

            webDriver.Url = "https://localhost:44317/Admin/CreateEnroll";
        }