public void WhenIClickOnLinkToChangeLocation()
        {
            WaitMethods.Wait(Hooks.driver, data._USALocationLink, 3000);
            var USALocationLink = Hooks.driver.FindElement(data._USALocationLink);

            USALocationLink.Click();
        }
        public void ThenIShouldSeeCarouselWithTrends()
        {
            WaitMethods.Wait(Hooks.driver, data._crsTrends, 3000);
            var crsTrends = Hooks.driver.FindElement(data._crsTrends).Displayed;

            Assert.IsTrue(crsTrends, $"Carousel with trends is not displayed!");
        }
        public void WhenIClickOnLinkOfEnglishLocalization()
        {
            WaitMethods.Wait(Hooks.driver, data._englishLanguage, 2000);
            var englishLanguageLink = Hooks.driver.FindElement(data._englishLanguage);

            englishLanguageLink.Click();
        }
        public void GivenIClickSettingsLink()
        {
            WaitMethods.Wait(Hooks.driver, data._settingLink, 1000);
            var settingLink = Hooks.driver.FindElement(data._settingLink);

            settingLink.Click();
        }
        public void GivenIClickLanguageLink()
        {
            WaitMethods.Wait(Hooks.driver, data._languageLink, 1000);
            var languageLink = Hooks.driver.FindElement(data._languageLink);

            languageLink.Click();
        }
        public void WhenIClickSearchButton()
        {
            WaitMethods.Wait(Hooks.driver, data._searchButton, 1000);
            var searchButton = Hooks.driver.FindElement(data._searchButton);

            searchButton.Click();
        }
        public void ThenIShouldSeeUserName()
        {
            WaitMethods.Wait(Hooks.driver, data._logoutLink, 2000);
            var expectedUserName = Hooks.driver.FindElement(data._logoutLink);

            Assert.AreEqual("Сойка", expectedUserName.Text);
        }
        public void GivenIClickMenuBarLink()
        {
            Thread.Sleep(2000);
            WaitMethods.Wait(Hooks.driver, data._menubarLink, 2000);
            var menubarLink = Hooks.driver.FindElement(data._menubarLink);

            menubarLink.Click();
        }
        public void GivenIEnterTheFollowingText(Table table)
        {
            Hooks.driver.Navigate().GoToUrl("https://www.bing.com/");
            WaitMethods.Wait(Hooks.driver, data._searchFrom, 1500);
            var serachForm = Hooks.driver.FindElement(data._searchFrom);

            serachForm.SendKeys("star wars episode vi");
        }
        public void GivenIClickLoginLink()
        {
            Thread.Sleep(1500);
            WaitMethods.Wait(Hooks.driver, data._signinLink, 3000);
            var signinLink = Hooks.driver.FindElement(data._signinLink);

            signinLink.Click();
        }
        public void GivenIClickLocationLink()
        {
            Thread.Sleep(2000);
            WaitMethods.Wait(Hooks.driver, data._locationLink, 2000);
            var locationLink = Hooks.driver.FindElement(data._locationLink);

            locationLink.Click();
            Thread.Sleep(1000);
        }
        public void ThenTheNumberOfRelatedSearchesShouldBe(int p0)
        {
            WaitMethods.Wait(Hooks.driver, data._relatedSearchList, 5000);
            var element       = Hooks.driver.FindElement(data._relatedSearchList);
            var list          = element.FindElements(By.TagName("li"));
            int actualCount   = list.Count;
            int expectedCount = 8;

            Assert.AreEqual(expectedCount, actualCount, $"Not equal! The number of related searches equals {actualCount}.");
        }
        public void ThenTheNumberOfSearchResultShouldBe(int p0)
        {
            Thread.Sleep(3000);
            WaitMethods.Wait(Hooks.driver, data._searchListResult, 5000);
            var element       = Hooks.driver.FindElement(data._searchListResult);
            var list          = element.FindElements(data._searchResult);
            int actualCount   = list.Count;
            int expectedCount = 9;

            Assert.AreEqual(expectedCount, actualCount, $"Not equal! The number of searches results equals {actualCount}.");
        }
 public WaitMethods GetWaitMethods()
 {
     if (WaitMethods != null)
     {
         return(this.WaitMethods);
     }
     else
     {
         WaitMethods = new WaitMethods(driver);
         return(WaitMethods);
     }
 }
        public void GivenIEnterTheFollowingDetails(Table table)
        {
            WaitMethods.Wait(Hooks.driver, data._emailField, 2000);
            dynamic loginData  = table.CreateDynamicInstance();
            var     emailField = Hooks.driver.FindElement(data._emailField);

            emailField.SendKeys((string)loginData.Email);

            var loginButton = Hooks.driver.FindElement(data._loginButton);

            loginButton.Click();

            WaitMethods.Wait(Hooks.driver, data._passwordField, 2000);
            var passwordField = Hooks.driver.FindElement(data._passwordField);

            passwordField.SendKeys((string)loginData.Password);
        }
 public PageObject(IWebDriver driver, WaitMethods wait)
 {
     this.wait   = wait;
     this.driver = driver;
     PageFactory.InitElements(driver, this);
 }