예제 #1
0
        public static void ClickSearch()
        {
            Logger.AddClickAction("Search");

            //click search button
            GetSearchButton().Click();

            //capture the page load time
            HomePage.Data.SearchTime = NonFunctionalReq.CaptureTime(() => Driver.Instance.FindElementWithTimeout(By.CssSelector("div.row-fluid a.pull-left div.logo"), 65, "Result page is not displayed within 60 Sec"), "Search Page load time is");

            switch (HomePage.Data.SearchOption)
            {
            case SearchOption.FlightOnly:
                //Wait for java script to load
                FlightResultsPage.WaitToLoad();
                break;

            case SearchOption.HotelOnly:
                //Wait for java script to load
                HotelResultsPage.WaitToLoad();
                break;

            case SearchOption.FlightAndHotel:
                //Wait for java script to load
                FlightResultsPage.WaitToLoad();
                break;
            }
        }
        public static void ClickFlightAndCapture(int flightNumber)
        {
            if (flightNumber < 1)
            {
                throw new ArgumentOutOfRangeException("flightNumber", flightNumber, "The flight number must be 1 or higher.");
            }
            Logger.AddClickAction("FlightAndCapture", "FlightNumber", flightNumber);
            SaveSearchGUID();
            SaveFlightData(flightNumber);
            IWebElement flightBookNowBtn = GetAvailableFlightButton(flightNumber);

            NonFunctionalReq.ExecuteAndRetry(() => flightBookNowBtn.Click(), "Selected flight is Ryanair.");

            //capture screenshot
            try
            {
                if (HomePage.Data.SearchOption == SearchOption.FlightOnly)
                {
                    ExtrasPage.WaitForLoad();

                    //capture screenshot
                    //NonFunctionalReq.GetScreenShot("Hotel Booking Summary Page");
                }
                else if (HomePage.Data.SearchOption == SearchOption.FlightAndHotel)
                {
                    HotelResultsPage.WaitToLoad();

                    //capture screenshot
                    //NonFunctionalReq.GetScreenShot("Hotel Booking Summary Page");
                }
            }
            catch (Exception ex)
            {
                if (Driver.Instance.IsElementDisplayedBy(By.CssSelector("div.alert h4")))
                {
                    throw new Exception(string.Format("Flight Number {0} is no longer available.", flightNumber));
                }
                if (Driver.Instance.IsElementDisplayedBy(By.Id("search-timeout")))
                {
                    throw new Exception(string.Format("Sun Error Page is displayed for Flight Number {0}", flightNumber));
                }
                throw ex;
            }
        }
예제 #3
0
        public static void ClickSearchAndCapture()
        {
            Logger.AddClickAction("SearchAndCapture");

            //click search button
            GetSearchButton().Click();

            //capture the page load time
            HomePage.Data.SearchTime = NonFunctionalReq.CaptureTime(() => Driver.Instance.FindElementWithTimeout(By.Id("filtersDialog"), 60, "Result page is not displayed within 60 Sec"), "Search Page load time is");

            switch (HomePage.Data.SearchOption)
            {
            case SearchOption.FlightOnly:
                //Wait for java script to load
                FlightResultsPage.WaitToLoad();

                //capture screenshot
                //NonFunctionalReq.GetScreenShot("Hotel Booking Summary Page");
                break;

            case SearchOption.HotelOnly:
                //Wait for java script to load
                HotelResultsPage.WaitToLoad();

                //capture screenshot
                //NonFunctionalReq.GetScreenShot("Hotel Booking Summary Page");
                break;

            case SearchOption.FlightAndHotel:
                //Wait for java script to load
                FlightResultsPage.WaitToLoad();

                //capture screenshot
                //NonFunctionalReq.GetScreenShot("Hotel Booking Summary Page");
                break;
            }
        }