示例#1
0
        public bool FindTheParent(IWebDriver driver, string ParentName)
        {
            log.Info("Parent Manager - FindArchivedParentName : Validation Test Case: ");
            Common.WaitBySleeping(GlobalVariable.iShortWait);
            IWebElement txtCategory = WebDriverExtensions.FindElement(driver, By.Id("category"), 2);

            AimySendKeys(driver, txtCategory, ParentName);
            txtCategory.SendKeys(Keys.Enter);


            try
            {
                if (filteredParentName != null && filteredParentName.Displayed)
                {
                    bool flag = filteredParentName.Text.Equals(ParentName);
                }
            }
            catch (Exception)
            {
                if (filteredParentName == null)
                {
                    log.Info("[FAIL]  '" + ParentName + "' does NOT exist. FAILED!");
                    return(false);
                }
            }
            log.Info("[PASS] '" + ParentName + "' exist. PASSED!");
            return(true);
        }
示例#2
0
        public bool IsParentBeenRestoredToParentManagePage(IWebDriver driver, string ParentName)
        {
            log.Info("Parent Archive Restore Validation Test");
            Common.WaitBySleeping(GlobalVariable.iShortWait);
            sURL = GlobalVariable.sURL + "Parent/Management";
            driver.Navigate().GoToUrl(sURL);
            Common.WaitBySleeping(GlobalVariable.iShortWait);
            IWebElement txtCategory = WebDriverExtensions.FindElement(driver, By.Id("category"), 2);

            AimySendKeys(driver, txtCategory, ParentName);
            txtCategory.SendKeys(Keys.Enter);
            Thread.Sleep(2000);
            IReadOnlyCollection <IWebElement> elements = null;

            try
            {
                elements = WebDriverExtensions.FindElements(driver,
                                                            By.XPath("html/body/div[3]/div[3]/div[2]/table/tbody/tr[1]/td[3]/div/p[1]/b"),
                                                            10);
            }
            catch (Exception)
            {
                if (elements == null)
                {
                    log.Info("[FAIL]: '" + ParentName + "' has NOT been found.");
                    return(false);
                }
            }
            log.Info("[PASS]: '" + ParentName + "' has been RESTORED!");
            return(true);
        }
 internal ContactUsPage NavigateToContactUs()
 {
     WebElementExtensions.MoveToElement(SecurepaySupport);
     WebDriverExtensions.WaitForElement(DriverContext.Driver, SecurepayContactUs, 10);
     SecurepayContactUs.Click();
     return(GetInstance <ContactUsPage>());
 }
示例#4
0
        public void AchiveParent(IWebDriver driver, string ParentName)
        {
            sURL = Utilities.GlobalVariable.sURL + "Parent/Management";
            driver.Navigate().GoToUrl(sURL);

            Utilities.Common.TitleValidation(driver, "AchiveParent",
                                             "Parent Management - aimy plus");


            Utilities.Common.WaitBySleeping(Utilities.GlobalVariable.iShortWait);


            IWebElement txtCategory = WebDriverExtensions.FindElement(driver, By.Id("category"), 2);

            AimySendKeys(driver, txtCategory, ParentName);
            txtCategory.SendKeys(Keys.Enter);

            WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(500));

            wait.PollingInterval = TimeSpan.FromSeconds(2);
            wait.Until(ExpectedConditions.ElementExists(By.CssSelector("span.caret.split-dropdown-caret")));

            IReadOnlyCollection <IWebElement> items =
                driver.FindElements(By.CssSelector("span.caret.split-dropdown-caret"));

            foreach (var item in items)
            {
                item.Click();
                break;
            }
            Thread.Sleep(2000);
            AimyClick(driver, menuItemArchive);
            Thread.Sleep(2000);
            AimyClick(driver, buttonOK);
        }
示例#5
0
        public bool ValidationAttendanceExist(IWebDriver driver, string ChildName)
        {
            sURL = GlobalVariable.sURL + "RollSheet/AttendanceManager";
            driver.Navigate().GoToUrl(sURL);

            Common.WaitBySleeping(GlobalVariable.iShortWait);

            IReadOnlyCollection <IWebElement> selectors = WebDriverExtensions.FindElements(driver,
                                                                                           By.XPath("html/body/div[3]/div[5]/span[1]/span/span[2]/span"), 10);

            if (selectors.Count != 0)
            {
                foreach (var selector in selectors)
                {
                    AimyClick(driver, selector);
                    break;
                }
            }

            Common.WaitBySleeping(GlobalVariable.iShortWait);
            AimyClick(driver, ddlTerm3);

            Common.WaitBySleeping(GlobalVariable.iShortWait);

            bool exist = ValidationAttendance(driver, "AttendanceManager - Attendance Checking",
                                              ChildName);

            return(exist);
        }
示例#6
0
        public void ClickApplyNowButton()
        {
            WaitForPageToLoad();
            var applyNowBtn = Driver.FindElement(_applyNowSelector);

            WebDriverExtensions.ClickWithActionBuilder(Driver, applyNowBtn);
        }
示例#7
0
        public async Task Login(string loginUrl, string username, string brfId)
        {
            if (string.IsNullOrEmpty(loginUrl))
            {
                throw new ArgumentNullException(nameof(loginUrl));
            }
            if (string.IsNullOrEmpty(username))
            {
                throw new ArgumentNullException(nameof(username));
            }
            if (string.IsNullOrEmpty(brfId))
            {
                throw new ArgumentNullException(nameof(brfId));
            }

            var wait10 = new WebDriverWait(driver, TimeSpan.FromSeconds(10));

            driver.Navigate().GoToUrl(loginUrl);

            driver.WaitUntilDocumentReady();

            var pid = driver.FindElement(By.Id("BankidLoginViewModel_PersonNumber"));             //Changed dec 2019 from login_UserName

            pid.Clear();
            pid.SendKeys(username);

            // Select BankID login
            var btn = driver.FindElement(By.XPath("//button[@type='submit' and contains(., 'BankID')]"));             // Changed spring 2020 from By.CssSelector("form > button")); //Changed dec 2019 from By.Id("login_Login_Button"));

            btn.Click();

            // Waiting for user to login
            // TODO: not sure what the doc looks like when choosing between roles...
            new WebDriverWait(driver, TimeSpan.FromMinutes(1)).Until(d => d.FindElements(By.Id("loginModal")).Any() == false);

            // We might have to select a role here - otherwise we'll be at portal main page
            if (!driver.Url.EndsWith("/Portalen"))               //https://varbrf.sbc.se
            {
                var finder = By.XPath($"//a[text()='{brfId}']"); // Changed dec 2019 from "//input[@type='submit' and @value='{brfId}']");
                new WebDriverWait(driver, TimeSpan.FromMinutes(1)).Until(WebDriverExtensions.ElementIsPresent(finder));
                var element = driver.FindElement(finder);
                if (element == null)
                {
                    throw new NotFoundException($"Text {brfId} not found");
                }
                await Task.Delay(500);

                try
                {
                    element.Click();
                }
                catch (Exception ex)
                {
                    throw;
                }
            }
            await Task.Delay(500);

            driver.WaitUntilDocumentReady();
        }
        public void ThenIFillRegisterForm()
        {
            var ListOfPeople = ExcelHelpers.PopulateInCollection(Path.Combine(AppContext.BaseDirectory.Substring(0, AppContext.BaseDirectory.IndexOf("bin")), @"Data\register.xlsx"), "Sheet1");

            foreach (var item in ListOfPeople)
            {
                nikePage.setEmail(item.Email)
                .setPassword(item.Password)
                .setFirstName(item.FirstName)
                .setLastName(item.LastName)
                .setDateOfBirth(item.DateOfBirth)
                .setCountry(item.Email)
                .setGender(item.Sex)
                .submitForm();

                //WebDriverExtensions.SummaryDisplayed(DriverContext.Driver, "MyAccountLink");\

                //WebDriverExtensions.FindElement(DriverContext.Driver, By.Id("MyAccountLink"), 20);
                WebDriverExtensions.Wait(6);

                nikePage.LogOut();
                nikePage.Login();
            }

            Assert.True(true);
        }
示例#9
0
        public void SetDomicile(string region, string country)
        {
            if (!IsDomicileCountrySet(country))
            {
                WebDriverExtensions.WaitUntilClickable(Driver, _domicileSelector).Click();

                WebDriverExtensions.WaitUntilVisible(Driver, _regionSelector).Click();
                var regionSection = WebDriverExtensions.WaitUntilVisible(Driver, _regionSectionSelector);

                var regions = regionSection.FindElements(By.XPath("//li"));
                if (regions != null)
                {
                    regions.FirstOrDefault(x => x.Text == region).Click();
                }

                WebDriverExtensions.WaitUntilClickable(Driver, _domicileCountrySelector).Click();
                var countrySection = WebDriverExtensions.WaitUntilVisible(Driver, _domicileCountrySectionSelector);

                var domicileCountrySection = countrySection.FindElements(By.XPath("//li"));
                if (domicileCountrySection != null)
                {
                    domicileCountrySection.FirstOrDefault(x => x.Text == country).Click();
                }
            }
        }
示例#10
0
        //// Child 'Marlon Casson' under Pending Bookings
        //[FindsBy(How = How.LinkText, Using = "Marlon Casson")]
        //public IWebElement lnkChild1 { get; set; }

        //// Child 'Marlon Casson' under Pending Bookings
        //[FindsBy(How = How.LinkText, Using = "Tony Casson")]
        //public IWebElement lnkChild2 { get; set; }

        private bool ValidationBooking(IWebDriver driver, string TestName, string Name)
        {
            log.Info("Booking Manager Validation Test Case: ");

            AimyClick(driver, chkAllTerms);

            IReadOnlyCollection <IWebElement> elements = null;

            try
            {
                elements = WebDriverExtensions.FindElements(driver,
                                                            By.LinkText(Name),
                                                            10);
            }
            catch (Exception)
            {
                if (elements == null)
                {
                    log.Info("[FAIL] " + TestName);
                    log.Info("'" + Name + "' does NOT exist under " + TestName + ". FAILED!");
                    return(false);
                }
            }
            log.Info("[PASS] " + TestName);
            log.Info("The child '" + Name + "' exist under " + TestName + ". PASSED!");
            return(true);
        }
        /// <summary>
        /// To navigate to trims page for specific brand/model
        /// </summary>
        /// <param name="brand">RZR, RAN, ...</param>
        /// <param name="model">rzr-570, ranger-500, ...</param>
        public void NavigateToTrimsPage(string brand, string model)
        {
            if (stringEqualsIgnoreCase(Brand.RAN, brand))
            {
                string url = string.Concat(UrlBuilder.GetRangerBrandHomePage(), model, BUILD_TRIM_URL_PART);
                GoToUrl(url);
                Log.Info(string.Format("Navigating to URL: {0}", url));
            }
            else if (stringEqualsIgnoreCase(Brand.RZR, brand))
            {
                string url = string.Concat(UrlBuilder.getRzrLandingPageURL(), model, BUILD_TRIM_URL_PART);
                GoToUrl(url);
                Log.Info(string.Format("Navigating to URL: {0}", url));
            }
            else if (stringEqualsIgnoreCase(Brand.GEN, brand))
            {
                string url = string.Concat(UrlBuilder.getGeneralLandingPageURL(), model, BUILD_TRIM_URL_PART);
                GoToUrl(url);
                Log.Info(string.Format("Navigating to URL: {0}", url));
            }
            else if (stringEqualsIgnoreCase(Brand.ATV, brand))
            {
                string url = string.Concat(UrlBuilder.getSportsmanLandingPageURL(), model, BUILD_TRIM_URL_PART);
                GoToUrl(url);
                Log.Info(string.Format("Navigating to URL: {0}", url));
            }
            else
            {
                Assert.Fail("Band {0} or model {1} is not supported", brand, model);
            }

            ModalsDialogPage.HandlePurposePromptModal();
            WebDriverExtensions.WaitForPageLoaded(Driver);
        }
示例#12
0
 internal ResultsPage GoogleSearch(string text)
 {
     googleSearchTextBox.SendKeys(text);
     WebDriverExtensions.WaitForElement(DriverContext.Driver, googleSearchButton, 10);
     googleSearchButton.Submit();
     return(GetInstance <ResultsPage>());
 }
 public void GetToBuildPage()
 {
     DriverActions.waitForElementToBeEnabled(BY_FULL_SCREEN_BUTTON);
     DriverActions.waitForElementToBeEnabled(BY_FLICKITY_SLIDER_BUTTON);
     DriverActions.waitForAjaxRequestToComplete();
     WebDriverExtensions.WaitForPageLoaded(Driver);
     Assert.IsTrue((Driver.Url).Contains("build"));
 }
        /// <summary>
        /// To navigate to dealer quote default page
        /// </summary>
        public void NavigateToDealerQuoteDefaultPage()
        {
            string buildQuoteUrl = string.Concat(UrlBuilder.getRzrLandingPageURL(), BUILD_QUOTE_DEALER_URL_PART);

            GoToUrl(buildQuoteUrl);
            WebDriverExtensions.WaitForPageLoaded(Driver);
            Log.Info(string.Format("Navigating to URL: {0}", buildQuoteUrl));
        }
示例#15
0
 public PostPage(IWebDriver driver, ITargetBlock <KeyValuePair <string, string> > targetMedia,
                 ITargetBlock <KeyValuePair <string, List <KeyValuePair <string, string> > > > targetText = null)
 {
     _webHelper   = new WebDriverExtensions(driver);
     _targetMedia = targetMedia;
     _driver      = driver;
     _targetText  = targetText;
 }
        public void ClickColor()
        {
            List <IWebElement> colors = Driver.FindElement(BY_COLORS_SECTION).FindElements(By.TagName(LI_TAG_NAME)).ToList();
            int color = rnd.Next(0, colors.Count);

            colors[color].Click();
            WebDriverExtensions.WaitForPageLoaded(Driver);
        }
 public void ProceedToCheckOutFromShippingPage()
 {
     if (!ProceedToCheckOutFromShippingPageLink.Selected)
     {
         ProceedToCheckOutFromShippingPageLink.Click();
     }
     WebDriverExtensions.WaitForElementToBePresent(_driver, processCarrierLink).Click();
 }
示例#18
0
        public int totalCardOnPage()
        {
            // Make sure at least one card is present on the page before counting
            WebDriverExtensions.FindElement(driver, cardFull, 120);

            // Count all the cards on page
            return(driver.FindElements(cardFull).Count);
        }
示例#19
0
        public int GetFreePlaces()
        {
            WebDriverExtensions.WaitForAjax(driver);
            string value  = this.NumberOfFreePlaces.Text;
            string result = Regex.Match(value, @"\d+").ToString();

            return(int.Parse(result));
        }
 public void ClickAcctLoggedInIcon()
 {
     DriverActions.waitForAjaxRequestToComplete();
     WebDriverExtensions.WaitForPageLoaded(Driver);
     DriverActions.WaitForCanvassToComplete();
     DriverActions.waitForElementVisibleAndEnabled(BY_ACCT_LOGGED_IN_ICON);
     DriverActions.clickElement(BY_ACCT_LOGGED_IN_ICON);
 }
        public void NavigateToBrandDealerExpAccessoriesPage(string brand, string model, string dealerId)
        {
            if (stringEqualsIgnoreCase(brand, Brand.RAN))
            {
                string url = string.Concat(UrlBuilder.getRangerLandingPageURL(), model, BUILD_URL_PART,
                                           string.Format(TEST_DEALER_PART_ID, dealerId));
                GoToUrl(url);
                Log.Info(string.Format("Navigating to URL: {0}", url));
            }
            else if (stringEqualsIgnoreCase(brand, Brand.RZR))
            {
                string url = string.Concat(UrlBuilder.getRzrLandingPageURL(), model, BUILD_URL_PART,
                                           string.Format(TEST_DEALER_PART_ID, dealerId));
                GoToUrl(url);
                Log.Info(string.Format("Navigating to URL: {0}", url));
            }
            else if (stringEqualsIgnoreCase(brand, Brand.SNO))
            {
                string url = string.Concat(UrlBuilder.getSnoLandingPageURL(), model, BUILD_URL_PART,
                                           string.Format(TEST_DEALER_PART_ID, dealerId));
                GoToUrl(url);
                Log.Info(string.Format("Navigating to URL: {0}", url));
            }
            else if (stringEqualsIgnoreCase(brand, Brand.ACE))
            {
                string url = string.Concat(UrlBuilder.getAceLandingPageURL(), model, BUILD_URL_PART,
                                           string.Format(TEST_DEALER_PART_ID, dealerId));
                GoToUrl(url);
                Log.Info(string.Format("Navigating to URL: {0}", url));
            }
            else if (stringEqualsIgnoreCase(brand, Brand.GEM))
            {
                string url = string.Concat(UrlBuilder.getGemLandingPageURL(), model, BUILD_URL_PART,
                                           string.Format(TEST_DEALER_PART_ID, dealerId));
                GoToUrl(url);
                Log.Info(string.Format("Navigating to URL: {0}", url));
            }
            else if (stringEqualsIgnoreCase(brand, Brand.ATV))
            {
                string url = string.Concat(UrlBuilder.getSportsmanLandingPageURL(), model, BUILD_URL_PART,
                                           string.Format(TEST_DEALER_PART_ID, dealerId));
                GoToUrl(url);
                Log.Info(string.Format("Navigating to URL: {0}", url));
            }
            else if (stringEqualsIgnoreCase(brand, Brand.IND))
            {
                string url = string.Concat(UrlBuilder.getIndianLandingPageURL(), model, BUILD_URL_PART,
                                           string.Format(TEST_DEALER_PART_ID, dealerId));
                GoToUrl(url);
                Log.Info(string.Format("Navigating to URL: {0}", url));
            }
            else
            {
                Assert.Fail("Brand {0} not supported", brand);
            }

            WebDriverExtensions.WaitForPageLoaded(Driver);
        }
示例#22
0
        public void FindElementDriverException()
        {
            var driver = new Mock <IWebDriver>();

            Assert.Throws <ArgumentException>(() =>
                                              WebDriverExtensions.FindElement(driver.Object,
                                                                              ElementLocatorMethods.None,
                                                                              string.Empty));
        }
示例#23
0
 public static IWebDriver WaitForAngular(this IWebDriver driver)
 {
     if (driver == null)
     {
         throw new ArgumentNullException("driver");
     }
     new WebDriverWait(driver, DefaultWaitTimeSpan).Until <bool>(d => WebDriverExtensions.ExecuteScript <bool>(d, "return !!(window.jQuery && window.ng && $('*[ng-version]').length)", new object[0]));
     return(driver);
 }
示例#24
0
 public void Logout()
 {
     PageFactory.InitElements(Initialize.Driver, this);
     LogoutButton.ClickOnIt("Logout Button");
     if (WebDriverExtensions.isAlertPresent(Initialize.Driver))
     {
         Initialize.Driver.SwitchTo().Alert().Accept();
     }
 }
示例#25
0
        public void NavigateToLink(string parentName, string childText)
        {
            var parentElem = Driver.FindElements(By.XPath("//*[@id='mainmenu']/li/button")).FirstOrDefault(x => x.Text == parentName);

            parentElem.Click();
            var index           = parentName == "Investment Bank" ? "0" : parentName == "About Us" ? "1" : "2";
            var childSectionDiv = WebDriverExtensions.WaitUntilVisible(Driver, By.XPath($"//*[@id='mainmenu-navContent{index}']"));

            WebDriverExtensions.WaitUntilVisible(Driver, By.XPath($"//span/a[text()='{childText}']")).Click();
        }
示例#26
0
        public void FindElementByTagName()
        {
            var driver = new ChromeDriver(Constants.CHROME_DRIVER_PATH);

            Assert.Throws <NoSuchElementException>(() =>
                                                   WebDriverExtensions.FindElement(driver,
                                                                                   ElementLocatorMethods.TagName,
                                                                                   "abc"));
            driver.Quit();
        }
示例#27
0
        public void FindElementElementNullException()
        {
            var driver = new ChromeDriver(Constants.CHROME_DRIVER_PATH);

            Assert.Throws <ArgumentNullException>(() =>
                                                  WebDriverExtensions.FindElement(driver,
                                                                                  ElementLocatorMethods.None,
                                                                                  string.Empty));
            driver.Quit();
        }
示例#28
0
        public void FindElementBySelector_NullSelector_ThrowsArgumentNullException()
        {
            // Arrange

            // Act
            TestDelegate action = () => WebDriverExtensions.FindElementBySelector(null, null);

            // Assert
            Assert.Throws <ArgumentNullException>(action);
        }
示例#29
0
        public static IWebDriver WaitForPageLoad(this IWebDriver driver)

        {
            if (driver == null)
            {
                throw new ArgumentNullException("driver");
            }
            new WebDriverWait(driver, DefaultWaitTimeSpan).Until <bool>(d => WebDriverExtensions.ExecuteScript <string>(d, "return document.readyState", new object[0]).Equals("complete"));
            return(driver);
        }
        /// <summary>
        /// To navigate to models page by brand
        /// </summary>
        /// <param name="brandName"></param>
        public void NavigateToModelsPage(string brandName)
        {
            if (stringEqualsIgnoreCase(brandName, Brand.RAN))
            {
                GoToUrl(UrlBuilder.getRangerBuildModelUrl());
                Log.Info(string.Format("Navigating to URL: {0}", UrlBuilder.getRangerBuildModelUrl()));
            }
            else if (stringEqualsIgnoreCase(brandName, Brand.RZR))
            {
                GoToUrl(UrlBuilder.getRzrBuildModelUrl());
                Log.Info(string.Format("Navigating to URL: {0}", UrlBuilder.getRzrBuildModelUrl()));
            }
            else if (stringEqualsIgnoreCase(brandName, Brand.ACE))
            {
                GoToUrl(UrlBuilder.getAceBuildModelUrl());
                Log.Info(string.Format("Navigating to URL: {0}", UrlBuilder.getAceBuildModelUrl()));
            }
            else if (stringEqualsIgnoreCase(brandName, Brand.ATV))
            {
                GoToUrl(UrlBuilder.getSportsmanBuildModelUrl());
                Log.Info(string.Format("Navigating to URL: {0}", UrlBuilder.getSportsmanBuildModelUrl()));
            }
            else if (stringEqualsIgnoreCase(brandName, Brand.IND))
            {
                GoToUrl(UrlBuilder.getIndianBuildModelUrl());
                Log.Info(string.Format("Navigating to URL: {0}", UrlBuilder.getIndianBuildModelUrl()));
            }
            else if (stringEqualsIgnoreCase(brandName, Brand.GEM))
            {
                GoToUrl(UrlBuilder.getGemBuildModelUrl());
                Log.Info(string.Format("Navigating to URL: {0}", UrlBuilder.getGemBuildModelUrl()));
            }
            else if (stringEqualsIgnoreCase(brandName, Brand.SLG))
            {
                GoToUrl(UrlBuilder.getSlingshotBuildModelUrl());
                Log.Info(string.Format("Navigating to URL: {0}", UrlBuilder.getSlingshotBuildModelUrl()));
            }
            else if (stringEqualsIgnoreCase(brandName, Brand.GEN))
            {
                GoToUrl(UrlBuilder.getGeneralBuildModelUrl());
                Log.Info(string.Format("Navigating to URL: {0}", UrlBuilder.getGeneralBuildModelUrl()));
            }
            else if (stringEqualsIgnoreCase(brandName, Brand.SNO))
            {
                GoToUrl(UrlBuilder.getSnowBuildModelUrl());
                Log.Info(string.Format("Navigating to URL: {0}", UrlBuilder.getSnowBuildModelUrl()));
            }
            else
            {
                Assert.Fail("Brand {0} not supported", brandName);
            }

            ModalsDialogPage.HandlePurposePromptModal();
            WebDriverExtensions.WaitForPageLoaded(Driver);
        }