Ejemplo n.º 1
0
        /// <summary>
        /// Go to next search page.
        /// </summary>
        /// <param name="driver"></param>
        /// <param name="searchResultPageLocators"></param>
        /// <param name="wait"></param>
        public void GoToNextPageOfSearch(IWebDriver driver, SearchResultPageLocators searchResultPageLocators, WebDriverWait wait)
        {
            IWebElement nextPageButton = driver.FindElement(searchResultPageLocators.NextPageButton);

            ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scrollIntoView(true);", nextPageButton);
            nextPageButton.Click();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            try
            {
                string selectedBrand = args[0];

                IWebDriver    driver = new FirefoxDriver();
                WebDriverWait wait   = new WebDriverWait(driver, TimeSpan.FromSeconds(11));

                Console.WriteLine("Selected car brand: " + selectedBrand);
                HomePageLocators homePageLocators = new HomePageLocators();
                HomePage         homePage         = new HomePage(driver);
                homePage.GotoHomePage(driver);

                SearchResultPage         searchResultPage         = homePage.FindInterestBrand(driver, homePageLocators, wait, selectedBrand);
                SearchResultPageLocators searchResultPageLocators = new SearchResultPageLocators();
                searchResultPage.OutputSortedCars(searchResultPage.SortedCarsList(searchResultPage.GetCarsAllPages(driver, searchResultPageLocators, wait)));

                driver.Quit();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Create a cars list of selected brand from all pages.
        /// </summary>
        /// <param name="driver"></param>
        /// <param name="searchResultPageLocators"></param>
        /// <param name="wait"></param>
        /// /// <param name=""></param>
        /// <returns>List of cars from all pages.</returns>
        public List <Car> GetCarsAllPages(IWebDriver driver, SearchResultPageLocators searchResultPageLocators, WebDriverWait wait)
        {
            List <Car> cars = new List <Car>();

            cars.AddRange(this.FillCarsList(GetBrandAndModelOfCarsOnPage(driver, searchResultPageLocators, wait)));
            while (IsElementPresent(searchResultPageLocators.NextPageButton))
            {
                this.GoToNextPageOfSearch(driver, searchResultPageLocators, wait);
                cars.AddRange(this.FillCarsList(GetBrandAndModelOfCarsOnPage(driver, searchResultPageLocators, wait)));
            }
            return(cars);
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            IWebDriver    driver   = new FirefoxDriver();
            HomePage      homePage = new HomePage(driver);
            WebDriverWait wait     = new WebDriverWait(driver, new TimeSpan(0, 0, 11));

            HomePageLocators homePageLocators = new HomePageLocators();

            homePage.GoToHomePage();
            homePage.InputFilterParametersForBMW_M5(driver, wait, homePageLocators);
            SearchResultPage searchResultPage = homePage.GoToSearchResultPage(driver, wait, homePageLocators);

            SearchResultPageLocators searchResultPageLocators = new SearchResultPageLocators();

            searchResultPage.SortCarsByPrice(driver, wait, searchResultPageLocators);
            Console.WriteLine("Price of cheapest BMW M5 : " + searchResultPage.GetPriceCheapestBMW_M5(driver, wait, searchResultPageLocators));

            driver.Quit();
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Get price of cheapest BMW M5.
        /// </summary>
        /// <param name="driver"></param>
        /// <param name="wait"></param>
        /// <returns>Price of cheapest BMW M5</returns>
        public string GetPriceCheapestBMW_M5(IWebDriver driver, WebDriverWait wait, SearchResultPageLocators searchResultPageLocators)
        {
            IWebElement cheapestBMW_M5_Price = wait.Until(ExpectedConditions.ElementToBeClickable(searchResultPageLocators.cheapestBMW_M5));

            return(cheapestBMW_M5_Price.Text);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Sort cars by price. From cheap to expensive.
 /// </summary>
 /// <param name="driver"></param>
 /// <param name="wait"></param>
 public void SortCarsByPrice(IWebDriver driver, WebDriverWait wait, SearchResultPageLocators searchResultLocators)
 {
     wait.Until(ExpectedConditions.ElementToBeClickable(searchResultLocators.sortByPriceAscending)).Click();
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Get brand and model cars on page.
 /// </summary>
 /// <param name="driver"></param>
 /// <param name="wait"></param>
 /// <param name="searchResultPageLocators"></param>
 /// <returns>List of brands and models of cars on page.</returns>
 public IList <IWebElement> GetBrandAndModelOfCarsOnPage(IWebDriver driver, SearchResultPageLocators searchResultPageLocators, WebDriverWait wait)
 {
     return(driver.FindElements(searchResultPageLocators.brandAndModelOfCars));
 }