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"); } } }
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"); }
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; } } }
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; } } }
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(); }