Exemple #1
0
        public void AddFlightToCart()
        {
            AirSearchScenario airScenario = new AirSearchScenario()
            {
                Adults       = 1,
                Childs       = 0,
                Infants      = 0,
                SearchType   = SearchType.OneWay,
                AirportPairs = new List <AirportPair> {
                    new AirportPair()
                    {
                        FromLocation      = "LAS",
                        ToLocation        = "LAX",
                        DepartureDateTime = DateTime.Today.AddDays(7)
                    }
                }
            };

            _app.HomePage.DoAirSearch(airScenario);

            while (_app.AirResultsPage.IsWaitingVisible())
            {
                Thread.Sleep(2000);
                if (_app.AirResultsPage.IsResultsVisible())
                {
                    Assert.IsTrue(_app.AirResultsPage.AddToCart(), "Itinerary not available");
                }
            }
        }
Exemple #2
0
        public void CheckFlightsWorking()
        {
            AirSearchScenario airScenario = new AirSearchScenario()
            {
                Adults       = 1,
                Childs       = 0,
                Infants      = 0,
                SearchType   = SearchType.OneWay,
                AirportPairs = new List <AirportPair> {
                    new AirportPair()
                    {
                        FromLocation      = "LAS",
                        ToLocation        = "LAX",
                        DepartureDateTime = DateTime.Today.AddDays(7)
                    }
                }
            };

            _app.HomePage.DoAirSearch(airScenario);

            while (_app.AirResultsPage.IsWaitingVisible())
            {
                Thread.Sleep(2000);
                if (_app.AirResultsPage.IsResultsVisible())
                {
                    break;
                }
            }
            Assert.IsTrue(_app.AirResultsPage.IsResultsVisible(), "Results not found");
        }
Exemple #3
0
        public void GuestUser_BookingFlow_CreditCard_Success()
        {
            #region search for flight
            AirSearchScenario airScenario = new AirSearchScenario()
            {
                Adults       = 1,
                Childs       = 0,
                Infants      = 0,
                SearchType   = SearchType.OneWay,
                AirportPairs = new List <AirportPair> {
                    new AirportPair()
                    {
                        FromLocation      = "LAS",
                        ToLocation        = "MIA",
                        DepartureDateTime = DateTime.Today.AddDays(7)
                    }
                }
            };
            _app.HomePage.DoAirSearch(airScenario);
            #endregion

            while (_app.AirResultsPage.IsWaitingVisible())
            {
                Thread.Sleep(2000);

                if (_app.AirResultsPage.IsResultsVisible())
                {
                    //if results available add first flight to cart
                    Assert.IsTrue(_app.AirResultsPage.AddToCart(), "Itinerary not available.");

                    Assert.IsTrue(_app.TripFolderPage.Checkout(), "Error on loading TripFolder.");

                    #region Guest User Registration
                    //for guest user asks for login on checkout page and he will register here
                    //please change email id before run this test case
                    NewUserRegistration newUser = new NewUserRegistration()
                    {
                        FName    = "Vikul", LName = "Rathod",
                        EmailId  = "*****@*****.**", DOB = "09/16/1989",
                        Password = "******"
                    };
                    Assert.IsTrue(_app.LoginDetailsPage.NewUserRegistration(newUser), "Registration Failed");

                    Assert.IsTrue(_app.LoginDetailsPage.PreferedCustomerRegistration(), "Error during pref cust registration");

                    #endregion

                    #region submit passenger details
                    PassengerDetails pes = new PassengerDetails()
                    {
                        InsuranceData = new Insurance()
                        {
                            Country = "United States", IsInsuared = false
                        },
                        FirstName = "Vikul",
                        LastName  = "Rathod",
                        DOB       = "09/16/1989",
                        Gender    = "Male",
                        Emailid   = "*****@*****.**"
                    };
                    _app.PassengerInfoPage.SubmitPassengerDetails(pes);
                    #endregion

                    Thread.Sleep(1000);

                    //check if itinerary available or price not changed before actual payment
                    Assert.IsTrue(_app.CheckoutPage.IsPayNowSuccess_CreditCard(), "Itinerary not available or Price has changed.");

                    #region pay by credit card
                    PaymentFields paymentFields = new PaymentFields()
                    {
                        EmailAddress = "*****@*****.**",
                        CreditCard   = new CreditCard()
                        {
                            NameOnCard      = "Vikul Rathod",
                            CardNumber      = "4111111111111111",
                            SecurityCode    = 999,
                            ExpirationMonth = 10,
                            ExpirationYear  = 2015
                        },
                        Address = new Address()
                        {
                            Address1   = "888 main",
                            City       = "Plano",
                            Country    = "US",
                            PostalCode = "77777",
                            Provinces  = "TX"
                        },
                        PhoneNumber = new PhoneNumber()
                        {
                            PhoneNumberArea     = "222",
                            PhoneNumberExchange = "223",
                            PhoneNumberDigits   = "7777",
                        }
                    };

                    Assert.IsTrue(_app.CheckoutPage.MakePayment_CreditCard(paymentFields), "Payment Failed");
                    #endregion

                    break;
                }
            }
        }
Exemple #4
0
        public void PreferedCust_BookingFlow_RoviaBucks_Success()
        {
            #region search for flight
            AirSearchScenario airScenario = new AirSearchScenario()
            {
                Adults       = 1,
                Childs       = 0,
                Infants      = 0,
                SearchType   = SearchType.OneWay,
                AirportPairs = new List <AirportPair> {
                    new AirportPair()
                    {
                        FromLocation      = "LAS",
                        ToLocation        = "MIA",
                        DepartureDateTime = DateTime.Today.AddDays(7)
                    }
                }
            };
            _app.HomePage.DoAirSearch(airScenario);
            #endregion

            while (_app.AirResultsPage.IsWaitingVisible())
            {
                Thread.Sleep(2000);

                if (_app.AirResultsPage.IsResultsVisible())
                {
                    //if results available add first flight to cart
                    Assert.IsTrue(_app.AirResultsPage.AddToCart(), "Itinerary not available.");

                    Assert.IsTrue(_app.TripFolderPage.Checkout(), "Error on loading TripFolder.");

                    //for registered user can login
                    Assert.IsTrue(_app.LoginDetailsPage.Login(), "Login Failed");

                    #region submit passenger details
                    PassengerDetails pes = new PassengerDetails()
                    {
                        InsuranceData = new Insurance()
                        {
                            Country = "United States", IsInsuared = false
                        },
                        FirstName = "Vikul",
                        LastName  = "Rathod",
                        DOB       = "09/16/1989",
                        Gender    = "Male",
                        Emailid   = "*****@*****.**"
                    };
                    _app.PassengerInfoPage.SubmitPassengerDetails(pes);
                    #endregion

                    Thread.Sleep(1000);

                    #region pay by credit card
                    PaymentFields paymentFields = new PaymentFields()
                    {
                        EmailAddress = "*****@*****.**",
                        Address      = new Address()
                        {
                            Address1   = "888 main",
                            City       = "Plano",
                            Country    = "US",
                            PostalCode = "77777",
                            Provinces  = "TX"
                        },
                        PhoneNumber = new PhoneNumber()
                        {
                            PhoneNumberArea     = "222",
                            PhoneNumberExchange = "223",
                            PhoneNumberDigits   = "7777",
                        }
                    };

                    Assert.IsTrue(_app.CheckoutPage.IsPayNowSuccess_RB(paymentFields), "Booking failed with Rovia Bucks");
                    #endregion

                    break;
                }
            }
        }
Exemple #5
0
        internal void DoAirSearch(AirSearchScenario airScenario)
        {
            var flights = WaitAndGetBySelector("flights", ApplicationSettings.TimeOut.Slow);

            if (flights == null || !flights.Displayed)
            {
                Assert.Fail("Flights Nav Bar not displayed.");
            }
            flights.Click();

            var flightPanel = WaitAndGetBySelector("flightsSearchPanel", ApplicationSettings.TimeOut.Safe);

            if (flightPanel == null || !flightPanel.Displayed)
            {
                Assert.Fail("Flights Panel not displayed.");
            }

            //check if journey is multicity
            if (airScenario.SearchType == SearchType.Multicity)
            {
                var btnMulticity = WaitAndGetBySelector("flightJourneyTypeMulticity", ApplicationSettings.TimeOut.Fast);

                if (btnMulticity == null || !btnMulticity.Displayed)
                {
                    Assert.Fail("Multicity journey button not displayed.");
                }
                btnMulticity.Click();
                for (int i = 0; i < airScenario.AirportPairs.Count; i++)
                {
                    ExecuteJavascript("$('#depAP" + (i + 1) + "').val('" + airScenario.AirportPairs[i].FromLocation + "')");
                    ExecuteJavascript("$('#retAP" + (i + 1) + "').val('" + airScenario.AirportPairs[i].ToLocation + "')");
                    ExecuteJavascript("$('input[val-rule=\"MDDepartureDate" + (i + 1) + "\"]').val('" + airScenario.AirportPairs[i].DepartureDateTime.ToString("MM/dd/yyyy") + "')");

                    if (i < airScenario.AirportPairs.Count - 1)
                    {
                        WaitAndGetBySelector("btnaddflight", ApplicationSettings.TimeOut.Fast).Click();
                    }
                }
            }
            else
            {
                //check if return or one way
                if (airScenario.SearchType == SearchType.OneWay)
                {
                    var btnOneway = WaitAndGetBySelector("flightJourneyTypeOneWay", ApplicationSettings.TimeOut.Fast);

                    if (btnOneway == null || !btnOneway.Displayed)
                    {
                        Assert.Fail("One way journey button not displayed.");
                    }

                    btnOneway.Click();
                }

                //Enter from/to airports

                var input = WaitAndGetBySelector("fromAp", ApplicationSettings.TimeOut.Fast);

                input.SendKeys(airScenario.AirportPairs[0].FromLocation);

                input = WaitAndGetBySelector("toAp", ApplicationSettings.TimeOut.Fast);
                input.SendKeys(airScenario.AirportPairs[0].ToLocation);

                //enter date

                input = WaitAndGetBySelector("onwardDate", ApplicationSettings.TimeOut.Fast);

                input.SendKeys(airScenario.AirportPairs[0].DepartureDateTime.ToString("MM/dd/yyyy"));

                if (airScenario.SearchType == SearchType.Return)
                {
                    input = WaitAndGetBySelector("returnDate", ApplicationSettings.TimeOut.Fast);

                    input.SendKeys(airScenario.AirportPairs[1].DepartureDateTime.ToString("MM/dd/yyyy"));
                }
            }

            WaitAndGetBySelector("adults", ApplicationSettings.TimeOut.Fast).SelectFromDropDown(airScenario.Adults.ToString());
            WaitAndGetBySelector("children", ApplicationSettings.TimeOut.Fast).SelectFromDropDown(airScenario.Childs.ToString());
            WaitAndGetBySelector("infants", ApplicationSettings.TimeOut.Fast).SelectFromDropDown(airScenario.Infants.ToString());

            WaitAndGetBySelector("btnSearch", ApplicationSettings.TimeOut.Fast).Click();
        }