Ejemplo n.º 1
0
        private static void RunTest(IWebDriver driver, WebDriverWait wait, string testUrl, bool isBaseline, string userName, string password, StreamWriter sw)
        {
            driver.Navigate().GoToUrl(testUrl);

            Console.WriteLine(driver.Title);
            string title = driver.Title;

            if (driver.Title.Substring(11, 15) == "Global WealthES")
            {
                TakeScreenShot(driver, "Login", isBaseline);

                PortalLogin(driver, wait, userName, password, false);

                Thread.Sleep(2000);

                //Console.WriteLine(driver.Title);
                //var src = driver.PageSource;
                //Console.Write(driver.PageSource);

                string browserURL        = driver.Url;
                string browserPageSource = driver.PageSource;
                //selenium.WindowFocus();

                int previousWinCount = driver.WindowHandles.Count;
                //var elem = driver.FindElements(By.LinkText("Account Enrollment"));
                // Wait until the page is fully loaded via JavaScript
                WebDriverWait wdw = new WebDriverWait(driver, TimeSpan.FromSeconds(60));

                wait.Until((x) =>
                {
                    return(((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
                });

                if (driver.Title.Contains("Today"))
                {
                    TakeScreenShot(driver, "Portal", isBaseline);
                    ////////maintain ticklers
                    //driver.SwitchTo().Frame("headerandbody");
                    //OpenMaintainTickler(driver, wdw);

                    //////// Administrator > New > Account
                    //driver.SwitchTo().Window(driver.WindowHandles[0]);
                    //driver.SwitchTo().Frame("headerandbody");
                    //NewAccount(driver, wdw, "Selen09", "Selen09", "Selen09");

                    ///////Administrator > Open > Account
                    SeleniumTest_DAL.SeleniumTest_DAL_Class newDAL = new SeleniumTest_DAL.SeleniumTest_DAL_Class();
                    newDAL.GetAcccountDetail("0023CA");
                    //int Acctid = newDAL.GetAcctId("0023CA");

                    driver.SwitchTo().Window(driver.WindowHandles[0]);
                    driver.SwitchTo().Frame("headerandbody");
                    OpenAccount(driver, wdw, "0023CA", isBaseline, sw);
                    Thread.Sleep(2000);

                    ///////go back to portal dashboard and logout
                    driver.SwitchTo().Window(driver.WindowHandles[0]);
                    driver.SwitchTo().Frame("headerandbody");
                    IWebElement logoutLink = wdw.Until(x => x.FindElement(By.LinkText("Logout")));
                    logoutLink.Click();

                    Thread.Sleep(2000);
                }
                else if (driver.FindElement(By.Id("errorLabel")).Text.Contains("Someone else is currently logged on using the same Login"))
                {
                    TakeScreenShot(driver, "Login", isBaseline);

                    Thread.Sleep(2000);

                    PortalLogin(driver, wait, userName, password, true);

                    Thread.Sleep(2000);

                    driver.SwitchTo().Frame("headerandbody");
                    IWebElement logoutLink = wdw.Until(x => x.FindElement(By.LinkText("Logout")));
                    logoutLink.Click();
                }

                /* Explicit Wait */
                /* WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); */
                //DefaultWait<IWebDriver> wdw = new DefaultWait<IWebDriver>(driver);
                //wdw.Timeout = TimeSpan.FromSeconds(30);
                //wdw.PollingInterval = TimeSpan.FromMilliseconds(250);
                /* Ignore the exception - NoSuchElementException that indicates that the element is not present */
                //wdw.IgnoreExceptionTypes(typeof(NoSuchElementException));
                //wdw.Message = "Element to be searched not found";

                /* Explicit Wait */
                /* IWebElement SearchResult = wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.XPath(target_xpath))); */
                //IWebElement we = wdw.Until(x => x.FindElement(By.XPath(target_xpath)));
                //var we = wdw.Until(x => x.FindElements(By.Name("headerandbody")));
                //var we = driver.FindElement(By.Name("Account Enrollment"));
            }
            else
            {
                Console.WriteLine("Wrong Application Title: " + driver.Title);
            }
        }
Ejemplo n.º 2
0
        private static void OpenAccount(IWebDriver driver, WebDriverWait wdw, string AccountNumber, bool isBaseline, StreamWriter sw)
        {
            IWebElement menuAdministration   = wdw.Until(x => x.FindElement(By.LinkText("Administration")));
            Actions     actionAdministration = new Actions(driver);

            actionAdministration.MoveToElement(menuAdministration).Perform();
            IWebElement SubMenuNew = wdw.Until(x => x.FindElement(By.LinkText("Open")));
            Actions     actionNew  = new Actions(driver);

            actionNew.MoveToElement(SubMenuNew).Perform();
            IWebElement SubMenuOpenAccount = wdw.Until(x => x.FindElement(By.LinkText("Account...")));

            SubMenuOpenAccount.Click();

            SeleniumTest_DAL.SeleniumTest_DAL_Class newDAL = new SeleniumTest_DAL.SeleniumTest_DAL_Class();
            //newDAL.GetAcccountDetail("0023CA");
            int Acctid        = newDAL.GetAcctInfo(AccountNumber, "AcctId");
            int YrEndAmortInd = newDAL.GetAcctInfo(AccountNumber, "YrEndAmortInd");

            if (!isBaseline)
            {
                Console.WriteLine("YrEndAmortInd before Save: " + YrEndAmortInd);
                //StreamWriter sw = new StreamWriter("E:\\FT\\SeleniumTest\\SC\\GWES_Test.txt");
                sw.WriteLine(DateTime.Now.ToString("yy-MM-dd-HH_mm_ss") + " :: " + "ExtrnlAcctId=" + AccountNumber + ", AcctId=" + Acctid + ", YrEndAmortInd before Save: " + YrEndAmortInd);
            }

            //searchAccountHeader_txtAccountNumber
            driver.SwitchTo().Window(driver.WindowHandles[1]); //Account search window
            Thread.Sleep(2000);
            driver.FindElement(By.Id("searchAccountHeader_txtAccountNumber")).SendKeys(AccountNumber);
            driver.FindElement(By.Id("searchAccountHeader_btnFindNow")).Click();
            String RadioButtonId = "searchDisplayAccountAssetContact_" + Acctid.ToString();

            driver.FindElement(By.Id(RadioButtonId)).Click();
            driver.FindElement(By.Id("searchDisplayAccountAssetContact_btnSelectClose")).Click();

            driver.SwitchTo().Window(driver.WindowHandles[2]); //Account window
            Thread.Sleep(2000);
            Actions keyAction = new Actions(driver);

            keyAction.KeyDown(Keys.Alt).SendKeys("z").KeyUp(Keys.Alt).Perform();
            //keyAction.KeyDown(Keys.Alt).KeyDown(Keys.Shift).SendKeys("z").KeyUp(Keys.Alt).KeyUp(Keys.Shift).Perform();
            TakeScreenShot(driver, "Account", isBaseline);
            Thread.Sleep(2000);

            if (!isBaseline)
            {
                driver.FindElement(By.Id("chkYrEndAmrtz")).Click();
                driver.FindElement(By.Id("webToolBar_Save")).Click();
            }
            else
            {
                driver.FindElement(By.Id("webToolBar_Close"));
            }

            Thread.Sleep(2000);
            if (!isBaseline)
            {
                ////check Account.YrEndAmortInd from DB
                YrEndAmortInd = newDAL.GetAcctInfo(AccountNumber, "YrEndAmortInd");
                Console.WriteLine("YrEndAmortInd after Save: " + YrEndAmortInd);
                sw.WriteLine(DateTime.Now.ToString("yy-MM-dd-HH_mm_ss") + " :: " + "ExtrnlAcctId=" + AccountNumber + ", AcctId=" + Acctid + ", YrEndAmortInd after Save: " + YrEndAmortInd);


                //Wait for the alert to be displayed and store it in a variable
                IAlert alert = wdw.Until(ExpectedConditions.AlertIsPresent());
                //Store the alert text in a variable
                string text = alert.Text;
                //Press the OK button
                alert.Accept();
            }
            TakeScreenShot(driver, "Account", isBaseline);

            ////string title = driver.Title;
            //Screenshot ss4 = ((ITakesScreenshot)driver).GetScreenshot();
            ////string Runname = title.Substring(11, 15) + " " + DateTime.Now.ToString("yy-MM-dd-HH_mm_ss");
            //string screenshotfilename = "E:\\FT\\SeleniumTest\\SC\\GWES" + DateTime.Now.ToString("yy-MM-dd-HH_mm_ss") + ".jpg";
            //ss4.SaveAsFile(screenshotfilename, ScreenshotImageFormat.Jpeg);

            Thread.Sleep(2000);
        }