public void ShouldBookFromSupplier_JT_ForDestination_Paris() { //Select the uk location HomePage.TopPanel.ClickLocation(Location.UnitedKingdom); //Enter Hotel only search data HomePage.SearchFor().HotelOnly().ToHotelName("Paris, France").FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).Search(); //Check if result page is displayed within 60 sec Assert.That(HotelResultsPage.IsDisplayed(), Is.True, "Hotel Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(HotelResultsPage.AreResultsDisplayed(), Is.True, "No Results are available for the hotel search"); //check if JT supplier is available from first results page Assert.That(HotelResultsPage.ContainsRoomFromSupplier("JT (Y)"), Is.True, "JT supplier isn't displayed on first result page"); //Select first room option of the first hotel displayed on the very first result page HotelResultsPage.SelectRoom().ByFirstSupplier("JT (Y)").Continue(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras page is not displayed"); //Click Booknow button ExtrasPage.BookHotel().Continue(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment page is not displayed"); }
public void HotelOnlyDestinationSearch_Benidorm() { //Select the uk location HomePage.TopPanel.ClickLocation(Location.UnitedKingdom); //Enter Hotel only search data HomePage.SearchFor().HotelOnly().ToDestination("Mallorca (Majorca)").FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).SearchAndCapture(); //Check if result page is displayed within 60 sec Assert.That(HotelResultsPage.IsDisplayed(), "Hotel Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(HotelResultsPage.AreResultsDisplayed(), "No Results are available for the hotel search"); //Select first room option of the first hotel displayed on the very first result page HotelResultsPage.SelectRoom().ByHotelNumber(HotelResultsPageRnd.PickRandomHotel()).OnlyOneRoomWithAvailableRoom(1).ContinueAndCapture(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), "Extras page is not displayed"); //Click Booknow button ExtrasPage.BookHotel().ContinueAndCapture(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), "Payment page is not displayed"); }
public void ShouldBook_3rd_MostPopularFlight_Malaga() { //Enter Hotel only search data HomePage.SearchFor().FlightOnly().ToDestination("Malaga, Costa Del Sol, Spain").FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).FromDepartureAirport("London Heathrow, London, United Kingdom (LHR)") .ForAdults(2).WithChildren(2).OfAges(2, 4).Search(); //Check if result page is displayed within 60 sec Assert.That(FlightResultsPage.IsDisplayed(), "Flight Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(FlightResultsPage.AreResultsDisplayed(), "No Results are available for the flight search"); //Select first room option of the first hotel displayed on the very first result page FlightResultsPage.SelectFlight().ByFlightNumber(FlightResultsPageRnd.PickRandomFlight()).Continue(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), "Extras page is not displayed within 60 sec"); //Click Booknow button ExtrasPage.BookFlight().Continue(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), "Payment page is not displayed"); }
public void ShouldBookFromSupplier_Sol_ForDestination_Benidorm() { //Enter Hotel only search data HomePage.SearchFor().HotelOnly().ToHotelName("Benidorm").FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).Search(); //Check if result page is displayed within 60 sec Assert.That(HotelResultsPage.IsDisplayed(), Is.True, "Hotel Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(HotelResultsPage.AreResultsDisplayed(), Is.True, "No Results are available for the hotel search"); //check if sol supplier is available from first results page Assert.That(HotelResultsPage.ContainsRoomFromSupplier("SOL (PELICANOS OCAS) (A)"), Is.True, "Sol supplier isn't displayed on first result page"); //Select first room option of the first hotel displayed on the very first result page HotelResultsPage.SelectRoom().ByFirstSupplier("SOL (PELICANOS OCAS) (A)").Continue(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras page is not displayed"); //Click Booknow button ExtrasPage.BookHotel().Continue(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment page is not displayed"); }
public void HotelBookingTestPaths() { //Enter flight only search data HomePage.SearchFor().HotelOnly().ToHotelName("Tenerife (Main), Tenerife, Canaries (TFS)").FromCheckIn("20/06/2014") .ToCheckOut("27/07/2014").ForAdults(2).AddAnotherRoom().ForAdults(3).WithChildren(2).OfAges(1, 3).SearchAndCapture(); //Check if result page is displayed within 60 sec Assert.That(HotelResultsPage.IsDisplayed(), Is.True, "Hotel Search Result Page isn't displayed within 60 sec"); Assert.That(HotelResultsPage.AreResultsDisplayed(), Is.True, "No hotel results page are displayed"); //Select first room option of the first hotel displayed on the very first result page HotelResultsPage.SelectRoom().ByHotelName("Iberostar Grand Hotel Mencey").ForRoomNumber(1).WithAvailableRoom(1) .ForRoomNumber(2).WithAvailableRoom(2).ContinueAndCapture(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras page is not displayed"); ExtrasPage.Save(Information.FlightAndHotel); //ExtrasPage.Confirm(Information.FlightAndHotel); ExtrasPage.ClickBookNow(); Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment Page not displayed"); PaymentPage.Save(Information.FlightAndHotel); }
public void FlightResultsPageShouldReturnValidData() { string destination = "Alicante, Benidorm, Spain (ALC)"; string departure = "London Gatwick, London, United Kingdom (LGW)"; string checkIn = DateTime.Today.AddMonths(5).ToShortDateString(); string checkOut = DateTime.Today.AddMonths(5).AddDays(7).ToShortDateString(); int adults = 4; int children = 2; int[] childrenAges = new int[] { 5, 7 }; HomePage.SearchFor().FlightOnly().ToDestination(destination).FromCheckIn(checkIn).ToCheckOut(checkOut).FromDepartureAirport(departure) .ForAdults(adults).WithChildren(children).OfAges(childrenAges).SearchAndCapture(); //check if result page is displayed Assert.AreEqual(true, FlightResultsPage.IsDisplayed(), "Flight Search Result Page isn't displayed"); FlightResultsPage.SelectFlight().ByFlightNumber(1).ContinueAndCapture(); //check if result page is displayed Assert.AreEqual(true, ExtrasPage.IsDisplayed(), "Flight Extras Page isn't displayed"); Assert.IsTrue(!String.IsNullOrEmpty(FlightResultsPage.Data.FlightSearchGuid)); Assert.IsTrue(FlightResultsPage.Data.LoadingTime.TotalMilliseconds > 0); Assert.AreEqual("(ALC) Alicante", FlightResultsPage.Data.OutboundArrivalAirport); Assert.AreEqual("(LGW) London Gatwick", FlightResultsPage.Data.OutboundDepartureAirport); Assert.AreEqual("(LGW) London Gatwick", FlightResultsPage.Data.InboundArrivalAirport); Assert.AreEqual("(ALC) Alicante", FlightResultsPage.Data.InboundDepartureAirport); Assert.AreEqual(DateTime.Parse(checkIn).ToString("dd MMM yyyy"), FlightResultsPage.Data.OutboundArrivalTime.Substring(0, 11)); Assert.AreEqual(DateTime.Parse(checkIn).ToString("dd MMM yyyy"), FlightResultsPage.Data.OutboundDepartureTime.Substring(0, 11)); Assert.AreEqual(DateTime.Parse(checkOut).ToString("dd MMM yyyy"), FlightResultsPage.Data.InboundArrivalTime.Substring(0, 11)); Assert.AreEqual(DateTime.Parse(checkOut).ToString("dd MMM yyyy"), FlightResultsPage.Data.InboundDepartureTime.Substring(0, 11)); }
public void ShouldBookFromSupplier_M_ForFlightTo_Athens() { //Select the uk location HomePage.TopPanel.ClickLocation(Location.UnitedKingdom); //Enter Hotel only search data HomePage.SearchFor().FlightOnly().ToDestination("Athens, Greece").FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).FromDepartureAirport("London Heathrow, London, United Kingdom (LHR)") .ForAdults(2).WithChildren(2).OfAges(2, 4).Search(); //Check if result page is displayed within 60 sec Assert.That(FlightResultsPage.IsDisplayed(), Is.True, "Flight Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(FlightResultsPage.AreResultsDisplayed(), Is.True, "No Results are available for the flight search."); //Search for supplier M Assert.That(FlightResultsPage.ContainsFlightFromSupplier("M"), Is.True, "M supplier is not displayed on first result page"); //Select first room option of the first hotel displayed on the very first result page FlightResultsPage.SelectFlight().ByFirstSupplier("M").Continue(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras page is not displayed within 60 sec"); //Click Booknow button ExtrasPage.BookFlight().Continue(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment page is not displayed"); }
public void ShouldBook_1st_MostPopularFlight_Tenerife() { //Enter Hotel only search data HomePage.SearchFor().FlightOnly().ToDestination("Tenerife").FromDepartureAirport("All London (STN,SEN,LTN,LHR,LGW,LCY), London, United Kingdom (LON)") .FromCheckIn(Calendar.PickRandomCheckInDate()).ToCheckOut(Calendar.PickRandomCheckOutDate()) .ForAdults(2).WithChildren(2).OfAges(2, 4).Search(); //Check if result page is displayed within 60 sec Assert.That(FlightResultsPage.IsDisplayed(), Is.True, "Flight Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(FlightResultsPage.AreResultsDisplayed(), Is.True, "No Results are available for the flight search"); //Select first room option of the first hotel displayed on the very first result page FlightResultsPage.SelectFlight().ByFlightNumber(FlightResultsPageRnd.PickRandomFlight()).Continue(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras page is not displayed within 60 sec"); //Click Booknow button ExtrasPage.BookFlight().Continue(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment page is not displayed"); //Fill in Payment Page Details }
public void ShouldBookRandomFlightSupplier_ForDestination_Tenerife() { //Select the uk location HomePage.TopPanel.ClickLocation(Location.UnitedKingdom); //Enter Hotel only search data HomePage.SearchFor().FlightOnly().ToDestination("Tenerife").FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).FromDepartureAirport(HomePageRnd.PickRandomFlightDepartureAirport()).SearchAndCapture(); //Check if result page is displayed within 60 sec Assert.That(FlightResultsPage.IsDisplayed(), Is.True, "Flight Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(FlightResultsPage.AreResultsDisplayed(), Is.True, "No Results are available for the flight search."); //Select Room 1 of a random hotel from the first result page FlightResultsPage.SelectFlight().ByFlightNumber(FlightResultsPageRnd.PickRandomFlight()).ContinueAndCapture(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras page is not displayed"); //Click Booknow button ExtrasPage.BookFlight().ContinueAndCapture(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment page is not displayed"); }
public void HotelResultsPageOnlyOneRoomByHotelNameShouldReturnValidData() { string destination = "London, United Kingdom"; string checkIn = DateTime.Today.AddMonths(5).ToShortDateString(); string checkOut = DateTime.Today.AddMonths(5).AddDays(7).ToShortDateString(); int adults = 4; int children = 2; int[] childrenAges = new int[] { 5, 7 }; HomePage.SearchFor().HotelOnly().ToHotelName(destination).FromCheckIn(checkIn).ToCheckOut(checkOut) .ForAdults(adults).WithChildren(children).OfAges(childrenAges).SearchAndCapture(); //check if result page is displayed Assert.AreEqual(true, HotelResultsPage.IsDisplayed(), "Hotel Search Result Page isn't displayed"); string hotelName = "Somerset Hotel"; int availableRoom = 2; HotelResultsPage.SelectRoom().ByHotelName(hotelName).OnlyOneRoomWithAvailableRoom(availableRoom).ContinueAndCapture(); //check if result page is displayed Assert.AreEqual(true, ExtrasPage.IsDisplayed(), "Hotel Extras Page isn't displayed"); Assert.IsTrue(!String.IsNullOrEmpty(HotelResultsPage.Data.HotelSearchGuid)); Assert.IsTrue(HotelResultsPage.Data.LoadingTime.TotalMilliseconds > 0); Assert.AreEqual(hotelName, HotelResultsPage.Data.HotelName); Assert.AreEqual(1, HotelResultsPage.Data.Rooms.Length); Assert.AreEqual(availableRoom, HotelResultsPage.Data.Rooms[0].AvailableRoom); }
public void ShouldBookRandomSupplier_ForDestination_Majorca() { //Select the uk location HomePage.TopPanel.ClickLocation(Location.UnitedKingdom); //Enter Hotel only search data HomePage.SearchFor().HotelOnly().ToDestination("Majorca").FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).SearchAndCapture(); //Check if result page is displayed within 60 sec Assert.That(HotelResultsPage.IsDisplayed(), Is.True, "Hotel Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(HotelResultsPage.AreResultsDisplayed(), Is.True, "No Results are available for the hotel search"); //Select random hotel from the first result page HotelResultsPage.ClickHotelNumber(HotelResultsPageRnd.PickRandomHotel()); //Check HotelDetailPage is displayed Assert.That(HotelDetailPage.IsDisplayed(), Is.True, "Hotel Detail page is not displayed"); //Select the first available room from the list HotelDetailPage.SelectRoom().OnlyOneRoomWithAvailableRoom(1).ContinueAndCapture(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras page is not displayed"); //Click Booknow button ExtrasPage.BookHotel().ContinueAndCapture(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment page is not displayed"); }
public void ShouldBook_1st_MostPopularFlightAndHotel_Benidorm() { //Select the uk location HomePage.TopPanel.ClickLocation(Location.UnitedKingdom); //Enter Hotel only search data HomePage.SearchFor().FlightAndHotel().ToDestination("Benidorm, Spain").FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).FromDepartureAirport(HomePageRnd.PickRandomFlightDepartureAirport()).SearchAndCapture(); //Check if result page is displayed within 60 sec Assert.That(FlightResultsPage.IsDisplayed(), "Flight Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(FlightResultsPage.AreResultsDisplayed(), "No Results are available for the flight search."); //Select Room 1 of a random hotel from the first result page FlightResultsPage.SelectFlight().ByFlightNumber(FlightResultsPageRnd.PickRandomFlight()).ContinueAndCapture(); //Check if result page is displayed within 60 sec Assert.That(HotelResultsPage.IsDisplayed(), "Hotel Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(HotelResultsPage.AreResultsDisplayed(), "No Results are available for the hotel search"); //Select random hotel from the first result page HotelResultsPage.ClickHotelNumber(HotelResultsPageRnd.PickRandomHotel()); //Check HotelDetailPage is displayed Assert.That(HotelDetailPage.IsDisplayed(), "Hotel Detail page is not displayed"); //Select the first available room from the list HotelDetailPage.SelectRoom().OnlyOneRoomWithAvailableRoom(1).ContinueAndCapture(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), "Extras page is not displayed"); //check if Airport Transfer is displayed Assert.That(ExtrasPage.IsExtraDisplayed(Extras.Travelinsurance), "TravelInsurrance is not Visible on extra page"); //Expand Car Hire ExtrasPage.ExpandExtraLink(Extras.Travelinsurance); //Confirm if any results are available Assert.That(ExtrasPage.AreResultsDisplayed(Extras.Travelinsurance), "TravelInsurrance results not available"); //Pick a random option from travel insurrance ExtrasPage.PickRandomTravelInsurance(); //Add Airporttranser and click Booknow button ExtrasPage.BookFlightAndHotel().ContinueAndCapture(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), "Payment page is not displayed"); }
public void HotelResultsPageMultipleRoomsShouldReturnValidData() { string destination = "London, United Kingdom"; string checkIn = DateTime.Today.AddMonths(5).ToShortDateString(); string checkOut = DateTime.Today.AddMonths(5).AddDays(7).ToShortDateString(); int adults = 2; int children = 1; int[] childrenAges = new int[] { 5 }; int adults2 = 1; int children2 = 2; int[] childrenAges2 = new int[] { 1, 2 }; int adults3 = 3; int children3 = 1; int[] childrenAges3 = new int[] { 3 }; HomePage.SearchFor().HotelOnly().ToHotelName(destination).FromCheckIn(checkIn).ToCheckOut(checkOut) .ForAdults(adults).WithChildren(children).OfAges(childrenAges) .AddAnotherRoom().ForAdults(adults2).WithChildren(children2).OfAges(childrenAges2) .AddAnotherRoom().ForAdults(adults3).WithChildren(children3).OfAges(childrenAges3) .SearchAndCapture(); //check if result page is displayed Assert.AreEqual(true, HotelResultsPage.IsDisplayed(), "Hotel Search Result Page isn't displayed"); string hotelName = "Hilton London Metropole"; int availableRoom = 1, availableRoom2 = 2, availableRoom3 = 1; HotelResultsPage.SelectRoom().ByHotelName(hotelName) .ForRoomNumber(1).WithAvailableRoom(availableRoom) .ForRoomNumber(2).WithAvailableRoom(availableRoom2) .ForRoomNumber(3).WithAvailableRoom(availableRoom3).ContinueAndCapture(); //check if result page is displayed Assert.AreEqual(true, ExtrasPage.IsDisplayed(), "Hotel Extras Page isn't displayed"); Assert.IsTrue(!String.IsNullOrEmpty(HotelResultsPage.Data.HotelSearchGuid)); Assert.IsTrue(HotelResultsPage.Data.LoadingTime.TotalMilliseconds > 0); Assert.AreEqual(hotelName, HotelResultsPage.Data.HotelName); Assert.AreEqual(3, HotelResultsPage.Data.Rooms.Length); Assert.AreEqual(availableRoom, HotelResultsPage.Data.Rooms[0].AvailableRoom); Assert.AreEqual(availableRoom2, HotelResultsPage.Data.Rooms[1].AvailableRoom); Assert.AreEqual(availableRoom3, HotelResultsPage.Data.Rooms[2].AvailableRoom); }
public void ShouldBook_2nd_MostPopularFlightAndHotel_Tenerife() { //Select the uk location HomePage.TopPanel.ClickLocation(Location.UnitedKingdom); //Enter Hotel only search data HomePage.SearchFor().FlightAndHotel().ToDestination("Tenerife, Canaries").FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).FromDepartureAirport(HomePageRnd.PickRandomFlightDepartureAirport()).SearchAndCapture(); //Check if result page is displayed within 60 sec Assert.That(FlightResultsPage.IsDisplayed(), "Flight Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(FlightResultsPage.AreResultsDisplayed(), "No Results are available for the flight search."); //Select Room 1 of a random hotel from the first result page FlightResultsPage.SelectFlight().ByFlightNumber(FlightResultsPageRnd.PickRandomFlight()).ContinueAndCapture(); //Check if result page is displayed within 60 sec Assert.That(HotelResultsPage.IsDisplayed(), "Hotel Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(HotelResultsPage.AreResultsDisplayed(), "No Results are available for the hotel search"); //Select random hotel from the first result page HotelResultsPage.ClickHotelNumber(HotelResultsPageRnd.PickRandomHotel()); //Check HotelDetailPage is displayed Assert.That(HotelDetailPage.IsDisplayed(), "Hotel Detail page is not displayed"); //Select the first available room from the list HotelDetailPage.SelectRoom().OnlyOneRoomWithAvailableRoom(1).ContinueAndCapture(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), "Extras page is not displayed"); //Click Booknow button ExtrasPage.BookFlightAndHotel().ContinueAndCapture(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), "Payment page is not displayed"); }
public void ShouldBookRandomMultipleRoom_ForDestination_Mallorca() { //HomePage.TopPanel.ClickLocation(Location.UnitedKingdom); HomePage.SearchFor().HotelOnly().ToDestination("Mallorca").FromCheckIn("01/09/2014").ToCheckOut("08/09/2014") .ForAdults(2).AddAnotherRoom().ForAdults(1).WithChildren(2).OfAges(0, 5).Search(); Assert.That(HotelResultsPage.IsDisplayed(), Is.True, "Hotel result page is not displayed"); HotelResultsPage.SelectRoom().ByHotelNumber(5).ForRoomNumber(1).WithAvailableRoom(1).ForRoomNumber(2).WithAvailableRoom(2).Continue(); Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras Page not showing"); ExtrasPage.Save(Information.Hotel); Assert.That(HotelResultsPage.Data.HotelName == ExtrasPage.Data.HotelName, Is.True, "Differing hotel names from SR to Extras"); ExtrasPage.BookHotel().Continue(); Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment page not displaying"); PaymentPage.Save(Information.Hotel); Assert.That(ExtrasPage.Data.HotelName == PaymentPage.Data.HotelName, Is.True, "Hotel name differs from Extras to Payment"); PaymentPage.MakeAHotelBooking() .ForGuestDetailsNumber(1).OfRoomNo(1).WithTitle(Title.Mr).WithFirstName("Test").WithLastName("Test") .ForGuestDetailsNumber(2).OfRoomNo(1).WithTitle(Title.Mr).WithFirstName("Test").WithLastName("Test") .ForGuestDetailsNumber(1).OfRoomNo(2).WithTitle(Title.Mr).WithFirstName("Test").WithLastName("Test") .ForGuestDetailsNumber(2).OfRoomNo(2).WithTitle(Title.Mr).WithFirstName("Test").WithLastName("Test") .ForGuestDetailsNumber(3).OfRoomNo(2).WithTitle(Title.Mr).WithFirstName("Test").WithLastName("Test") .ForContactDetails().AutoFill() .ForPaymentDetails() .WithPaymentType(Card.Mastercard) .WithCardHolderName("Test Test") .WithCardNo("5569510003306537") .WithExpiryDate("03/15") .WithSecurityCode("123") .WithPostCode("S11 8NX") .ForStaffDetails().WithReference("test").WithCustomerPhone("1") .Confirm(); }
public void ShouldBookFlight_For2Adults_ForDestination_Benidorm() { //Enter search criteria on home page and click search HomePage.SearchFor().FlightOnly().ToDestination("ALC").FromCheckIn(Calendar.PickRandomCheckInDate()).ToCheckOut(Calendar.PickRandomCheckOutDate()) .FromDepartureAirport("Manchester Airport, Manchester, United Kingdom (MAN)").ForAdults(2).Search(); Assert.That(FlightResultsPage.IsDisplayed(), "Flights results isn't displayed"); FlightResultsPage.SelectFlight().ByFlightNumber(FlightResultsPageRnd.PickRandomFlight()).Continue(); Assert.That(ExtrasPage.IsDisplayed(), "Extras page isn't displayed"); ExtrasPage.ClickBookNowAndCapture(); Assert.That(PaymentPage.IsDisplayed(), "Payment page isn't displayed"); PaymentPage.MakeAFlightBooking().ForAllGuestDetails().AutoFill().ForContactDetails().WithEmail("*****@*****.**").WithPhoneNumber("07747680480") .ForPaymentDetails().AutoFill().ForStaffDetails().AutoFill().Confirm(); Assert.That(ConfirmationPage.IsDisplayed(), "Booking Confirmation page isn't displayed"); }
public void ShouldMakeFlightAndHotelBooking() { //Enter flight only search data HomePage.SearchFor().FlightAndHotel().ToDestination("Tenerife (Main), Tenerife, Canaries (TFS)").FromCheckIn("20/06/2014") .ToCheckOut("27/07/2014").FromDepartureAirport("London Heathrow, London, United Kingdom (LHR)") .ForAdults(2).SearchAndCapture(); //check if result page is displayed Assert.That(FlightResultsPage.IsDisplayed(), Is.True, "Flight Search Result Page isn't displayed"); Assert.That(FlightResultsPage.AreResultsDisplayed(), Is.True, "No results are displayed"); //Search for supplier //Assert.That(FlightResultsPage.ContainsFlightFromSupplier("TP"), Is.True, "Supplier not found on current select page"); FlightResultsPage.SelectFlight().ByFlightNumber(1).ContinueAndCapture(); //Check if result page is displayed within 60 sec Assert.That(HotelResultsPage.IsDisplayed(), Is.True, "Hotel Search Result Page isn't displayed within 60 sec"); Assert.That(HotelResultsPage.AreResultsDisplayed(), Is.True, "No hotel results page are displayed"); //check if ItalCamel supplier is available from first results page //Assert.That(HotelResultsPage.ContainsRoomFromSupplier("ItalCamel (6)"), Is.True, "ItalCamel supplier isn't displayed on first result page"); //Select first room option of the first hotel displayed on the very first result page HotelResultsPage.ClickAvailableRoom(1, 1); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras page is not displayed"); ExtrasPage.Save(Information.FlightAndHotel); //ExtrasPage.Confirm(Information.FlightAndHotel); ExtrasPage.ClickBookNow(); Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment Page not displayed"); PaymentPage.Save(Information.FlightAndHotel); }
public void ShouldBook_2nd_MostPopularHotel_Benidorm() { //Enter Hotel only search data HomePage.SearchFor().HotelOnly().ToHotelName("Sol Pelicanos Ocas,Sol Pelicanos Ocas").FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).AddAnotherRoom().Search(); //Check if result page is displayed within 60 sec //Assert.That(HotelDetailPage.IsDisplayed(), Is.True, "Hotel Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search //Assert.That(HotelDetailPage., Is.True, "No Results are available for the hotel search"); //Select first room option of the first hotel displayed on the very first result page HotelDetailPage.SelectRoom().ForRoomNumber(1).WithAvailableRoom(2).ForRoomNumber(2).WithAvailableRoom(1).Continue(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras page is not displayed"); //Click Booknow button ExtrasPage.BookHotel().Continue(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment page is not displayed"); }
public void ShouldBook_4th_MostPopularHotel_Tenerife() { //Enter Hotel only search data HomePage.SearchFor().HotelOnly().ToHotelName("Tenerife").FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).Search(); //Check if result page is displayed within 60 sec Assert.That(HotelResultsPage.IsDisplayed(), Is.True, "Hotel Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(HotelResultsPage.AreResultsDisplayed(), Is.True, "No Results are available for the hotel search"); //Select first room option of the first hotel displayed on the very first result page HotelResultsPage.SelectRoom().ByHotelNumber(1).OnlyOneRoomWithAvailableRoom(1).Continue(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras page is not displayed"); //Click Booknow button ExtrasPage.BookHotel().Continue(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment page is not displayed"); }
public void FlightResultsPageFirstSupplierShouldReturnValidData() { string destination = "Alicante, Benidorm, Spain (ALC)"; string departure = "London Gatwick, London, United Kingdom (LGW)"; string checkIn = DateTime.Today.AddMonths(5).ToShortDateString(); string checkOut = DateTime.Today.AddMonths(5).AddDays(7).ToShortDateString(); int adults = 4; int children = 2; int[] childrenAges = new int[] { 5, 7 }; HomePage.SearchFor().FlightOnly().ToDestination(destination).FromCheckIn(checkIn).ToCheckOut(checkOut).FromDepartureAirport(departure) .ForAdults(adults).WithChildren(children).OfAges(childrenAges).SearchAndCapture(); //check if result page is displayed Assert.AreEqual(true, FlightResultsPage.IsDisplayed(), "Flight Search Result Page isn't displayed"); FlightResultsPage.SelectFlight().ByFirstSupplier("TP").ContinueAndCapture(); //check if result page is displayed Assert.AreEqual(true, ExtrasPage.IsDisplayed(), "Flight Extras Page isn't displayed"); Assert.AreEqual("Travel Port", FlightResultsPage.Data.Supplier); }
public void FlightsOnlyLiveChecks_Tenerife() { //Enter Hotel only search data HomePage.SearchFor().FlightOnly().ToDestination("Tenerife").FromDepartureAirport("London Heathrow, London, United Kingdom (LHR)") .FromCheckIn(Calendar.PickRandomCheckInDate()).ToCheckOut(Calendar.PickRandomCheckOutDate()).SearchAndCapture(); //Check if result page is displayed within 60 sec Assert.That(FlightResultsPage.IsDisplayed(), "Flight Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(FlightResultsPage.AreResultsDisplayed(), "No Results are available for the flight search"); //Select first room option of the first hotel displayed on the very first result page FlightResultsPage.SelectFlight().ByFlightNumber(FlightResultsPageRnd.PickRandomFlight()).Continue(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), "Extras page is not displayed within 60 sec"); //Click Booknow button ExtrasPage.BookFlight().ContinueAndCapture(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), "Payment page is not displayed"); }
public void ShouldBook_2nd_MostPopularFlight_Alicante() { //Enter Hotel only search data HomePage.SearchFor().FlightOnly().ToDestination("Alicante").FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).FromDepartureAirport("London Heathrow, London, United Kingdom (LHR)").SearchAndCapture(); //Check if result page is displayed within 60 sec Assert.That(FlightResultsPage.IsDisplayed(), "Flight Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(FlightResultsPage.AreResultsDisplayed(), "No Results are available for the flight search"); //Select first room option of the first hotel displayed on the very first result page FlightResultsPage.SelectFlight().ByFlightNumber(FlightResultsPageRnd.PickRandomFlight()).Continue(); //Check if the extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), "Extras page is not displayed within 60 sec"); //Check if Airport Transfer is visible on extra's page Assert.That(ExtrasPage.IsExtraDisplayed(Extras.AirportTransfer), "AirportTransfer is not Visible on extra page"); //Expand Airport Transfer Link ExtrasPage.ExpandExtraLink(Extras.AirportTransfer); //Confirm if any results are available Assert.That(ExtrasPage.AreResultsDisplayed(Extras.AirportTransfer), "AirportTransfer results not available"); //Pick a random option from travel insurrance ExtrasPage.PickRandomAirportTransfer(); //Click Booknow button ExtrasPage.BookFlight().ContinueAndCapture(); //Check Payment Page is displayed Assert.That(PaymentPage.IsDisplayed(), "Payment page is not displayed"); }
public void ShouldSearch_MostPopularRoutes_ForAllMultiCom_Suppliers(TestScript script) { //Select united kingdom as the user location HomePage.TopPanel.ClickLocation(Location.UnitedKingdom); HomePage.SearchFor().FlightOnly().ToDestination(script.Destination).FromCheckIn(Calendar.PickRandomCheckInDate()) .ToCheckOut(Calendar.PickRandomCheckOutDate()).FromDepartureAirport(script.DepartureAirport) .ForAdults(script.Adults).SearchAndCapture(); //Check if result page is displayed within 60 sec Assert.That(FlightResultsPage.IsDisplayed(), Is.True, "Flight Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(FlightResultsPage.AreResultsDisplayed(), Is.True, "No Results are available for the Flight search"); //Check if search criteria match flight search header //Assert.That(FlightResultsPage.ValidateSearchCriteria(), Is.True, "Home Search criteria"); //Confirm all flights depature and return dates are same as the search criteria //Assert.That(FlightResultsPage.ValidateResultDates(),Is.True,"Search criteria dates don’t match with the flight results"); //Confirm all inbond outbond departure airport are correct //Assert.That(FlightResultsPage.ValidateResultDestinations(), Is.True, "Search criteria destination don’t match with the flight results"); //Find supplier on first result page //Assert.IsTrue(FlightResultsPage.ContainsFlightFromSupplier(script.TestName),"Supplier name not found in staff 'Supplier' and 'Airline' information"); //select the first result from first page FlightResultsPage.SelectFlight().ByFlightNumber(FlightResultsPageRnd.PickRandomFlight()).ContinueAndCapture(); //check extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras Page isn't displayed"); //Price checks Assert.That(ExtrasPage.ValidatePrice(), Is.True, "Difference in price comparision - Flight price on results page: {0} - Change in Price on Extra Page {1} - Orignal price on extra page: {2}", FlightResultsPage.Data.Price , ExtrasPage.Data.ChangedPrice , ExtrasPage.Data.OrignalPrice); //Check total price against changed price if (ExtrasPage.Data.TotalPrice == 0) { ExtrasPage.Save(Information.TotalPrice); Assert.AreEqual(ExtrasPage.Data.ChangedPrice, ExtrasPage.Data.TotalPrice, "Difference in price comparision - Changed price on extras page: {0} - Total Price on Extras page {1}" , ExtrasPage.Data.ChangedPrice , ExtrasPage.Data.TotalPrice); } //save flight information ExtrasPage.Save(Information.Flight); //Compare selected flight information Assert.AreEqual(FlightResultsPage.Data.OutboundDepartureTime, ExtrasPage.Data.OutboundDepartureTime, "FlightResult page Outbound DepartureTime doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.OutboundArrivalTime, ExtrasPage.Data.OutboundArrivalTime, "FlightResult page Outbound ArrivalTime doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.OutboundFlightNo, ExtrasPage.Data.OutboundFlightNo, "FlightResult page Outbound FlightNumber doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.OutboundDepartureAirport, ExtrasPage.Data.OutboundDepartureAiport, "FlightResult page Outbound DepartureAirport doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.OutboundArrivalAirport, ExtrasPage.Data.OutboundArrivalAirport, "FlightResult page Outbound ArrivalAirport doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.OutboundJourneyTime, ExtrasPage.Data.OutboundJourneyTime, "FlightResult page Outbound JourneyTime doesn't match with Extra Page"); //Assert.AreEqual(FlightResultsPage.Data.OutboundJourney, ExtrasPage.Data.OutboundJourney); Assert.AreEqual(FlightResultsPage.Data.InboundFlightNo, ExtrasPage.Data.InboundFlightNo, "FlightResult page Inbound FlightNumber doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.InboundDepartureTime, ExtrasPage.Data.InboundDepartureTime, "FlightResult page Inbound DepartureTime doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.InboundDepartureAirport, ExtrasPage.Data.InbounddDepartureAiport, "FlightResult page Inbound DepartureAirport doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.InboundArrivalAirport, ExtrasPage.Data.InboundArrivalAirport, "FlightResult page Inbound ArrivalAirport doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.InboundArrivalTime, ExtrasPage.Data.InboundArrivalTime, "FlightResult page Inbound ArrivalTime doesn't match with Extra Page"); //Assert.AreEqual(FlightResultsPage.Data.InboundJourney, ExtrasPage.Data.InboundJourney); Assert.AreEqual(FlightResultsPage.Data.InboundJourneyTime, ExtrasPage.Data.InboundJourneyTime, "FlightResult page Inbound JourneyTime doesn't match with Extra Page"); ExtrasPage.BookFlight().Continue(); PaymentPage.Save(Information.Flight); Assert.AreEqual(ExtrasPage.Data.OutboundDepartureTime, PaymentPage.Data.OutboundDepartureTime, "Extra's page Outbound DepartureTime doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.OutboundArrivalTime, PaymentPage.Data.OutboundArrivalTime, "Extra's page Outbound ArrivalTime doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.OutboundJourneyTime, PaymentPage.Data.OutboundJourneyTime, "Extra's page Outbound JourneyTime doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.OutboundJourney, PaymentPage.Data.OutboundJourney, "Extra's page Outbound Journey doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.OutboundAirline, PaymentPage.Data.OutboundAirline, "Extra's page Outbound Airline doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.OutboundFlightNo, PaymentPage.Data.OutboundFlightNo, "Extra's page Outbound FlightNumber doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.InboundDepartureTime, PaymentPage.Data.InboundDepartureTime, "Extra's page Inbound DepartureTime doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.InboundArrivalTime, PaymentPage.Data.InboundArrivalTime, "Extra's page Inbound ArrivalTime doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.InboundJourneyTime, PaymentPage.Data.InboundJourneyTime, "Extra's page Inbound JourneyTime doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.InboundJourney, PaymentPage.Data.InboundJourney, "Extra's page Inbound Journey doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.InboundAirline, PaymentPage.Data.InboundAirline, "Extra's page Inbound Airline doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.InboundFlightNo, PaymentPage.Data.InboundFlightNo, "Extra's page Inbound FlightNumber doesn't match with Payment Page"); PaymentPage.Save(Information.TotalPrice); Assert.AreEqual(ExtrasPage.Data.TotalPrice, PaymentPage.Data.TotalPrice); PaymentPage.MakeAFlightBooking() .ForGuestDetailsNumber(1).AutoFill() .ForGuestDetailsNumber(2).AutoFill() .ForContactDetails() .WithEmail("*****@*****.**").WithPhoneNumber("08719110030") .ForPaymentDetails() .WithPaymentType(Card.Mastercard) .WithCardHolderName("Test") .WithCardNo("5454545454545454") .WithExpiryDate("10/20") .WithSecurityCode("123") .WithPostCode("S11 8NX") .ForStaffDetails().WithReference("test").WithCustomerPhone("Test") .Confirm(); Assert.IsTrue(ConfirmationPage.IsDisplayed(), "Confirmation page isn't displayed within 60 sec"); Assert.IsTrue(ConfirmationPage.PNRNoIsDisplayed(), "PNR Number is empty"); Assert.Pass(script.TestName + " Sucessful"); }
public void ShouldBookFlight_ForDestination_Benidorm() { HomePage.SearchFor().FlightOnly().ToDestination("Benidorm").FromCheckIn("01/09/2014").ToCheckOut("08/09/2014") .FromDepartureAirport("Manchester Airport, Manchester, United Kingdom (MAN)").ForAdults(2).Search(); Assert.That(FlightResultsPage.IsDisplayed(), Is.True, "Flights results not displaying"); FlightResultsPage.SelectFlight().ByFlightNumber(FlightResultsPageRnd.PickRandomFlight()).Continue(); Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras page is not showing"); ExtrasPage.Save(Information.Flight); Assert.That(ExtrasPage.Data.OutboundAirline == FlightResultsPage.Data.OutboundAirline, Is.True, "OutboundAirline differ from flight search results to extras"); Assert.That(ExtrasPage.Data.OutboundArrivalAirport == FlightResultsPage.Data.OutboundArrivalAirport, Is.True, "OutboundArrivalAirport differ from flight search results to extras"); Assert.That(ExtrasPage.Data.OutboundArrivalTime == FlightResultsPage.Data.OutboundArrivalTime, Is.True, "OutboundArrivalTime differ from flight search results to extras"); Assert.That(ExtrasPage.Data.OutboundDepartureAiport == FlightResultsPage.Data.OutboundDepartureAirport, Is.True, "OutboundDepartureAiport differ from flight search results to extras"); Assert.That(ExtrasPage.Data.OutboundDepartureTime == FlightResultsPage.Data.OutboundDepartureTime, Is.True, "OutboundDepartureTime differ from flight search results to extras"); Assert.That(ExtrasPage.Data.OutboundFlightNo == FlightResultsPage.Data.OutboundFlightNo, Is.True, "OutboundFlightNo differ from flight search results to extras"); Assert.That(ExtrasPage.Data.InboundAirline == FlightResultsPage.Data.InboundAirline, Is.True, "InboundAirline differ from flight search results to extras"); Assert.That(ExtrasPage.Data.InboundArrivalAirport == FlightResultsPage.Data.InboundArrivalAirport, Is.True, "InboundArrivalAirport differ from flight search results to extras"); Assert.That(ExtrasPage.Data.InboundArrivalTime == FlightResultsPage.Data.InboundArrivalTime, Is.True, "InboundArrivalTime differ from flight search results to extras"); Assert.That(ExtrasPage.Data.InbounddDepartureAiport == FlightResultsPage.Data.InboundDepartureAirport, Is.True, "InbounddDepartureAiport differ from flight search results to extras"); Assert.That(ExtrasPage.Data.InboundDepartureTime == FlightResultsPage.Data.InboundDepartureTime, Is.True, "InboundDepartureTime differ from flight search results to extras"); Assert.That(ExtrasPage.Data.InboundFlightNo == FlightResultsPage.Data.InboundFlightNo, Is.True, "InboundFlightNo differ from flight search results to extras"); ExtrasPage.ClickBookNowAndCapture(); Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment page is not showing"); PaymentPage.Save(Information.Flight); Assert.That(PaymentPage.Data.TotalPrice == ExtrasPage.Data.TotalPrice, Is.True, "Total price differs between extras and payment"); Assert.That(PaymentPage.Data.OutboundJourney == ExtrasPage.Data.OutboundJourney, Is.True, "Outbound Journey differs from extras to payment"); Assert.That(PaymentPage.Data.OutboundFlightNo == ExtrasPage.Data.OutboundFlightNo, Is.True, "Outbound flight number differs from extras to payment"); Assert.That(PaymentPage.Data.OutboundDepartureTime == ExtrasPage.Data.OutboundDepartureTime, Is.True, "Outbound departure time differs from extras to payment"); Assert.That(PaymentPage.Data.InboundJourney == ExtrasPage.Data.InboundJourney, Is.True, "Inbound Journey differs from extras to payment"); Assert.That(PaymentPage.Data.OutboundFlightNo == ExtrasPage.Data.InboundFlightNo, Is.True, "Inbound flight number differs from extras to payment"); Assert.That(PaymentPage.Data.OutboundDepartureTime == ExtrasPage.Data.InboundDepartureTime, Is.True, "Inbound departure time differs from extras to payment"); PaymentPage.SelectGuestTitle(1, Title.Mr); PaymentPage.TypeGuestFirstName(1, "Test"); PaymentPage.TypeGuestLastName(1, "Test"); PaymentPage.SelectGuestDoB(1, "01/01/1985"); PaymentPage.SelectGuestTitle(1, Title.Mr); PaymentPage.TypeGuestFirstName(1, "Test"); PaymentPage.TypeGuestLastName(1, "Test"); PaymentPage.SelectGuestDoB(1, "01/02/1985"); PaymentPage.TypeContactFirstName("Test"); PaymentPage.TypeContactLastName("Test"); PaymentPage.TypeContactEmail("*****@*****.**"); PaymentPage.TypeContactNumber("08719110030"); PaymentPage.SelectPaymentType(Card.Mastercard); PaymentPage.TypeCardHolderName("Test Test"); PaymentPage.TypeCardNumber("5569510003306537"); PaymentPage.TypeExpiryDate("03/15"); PaymentPage.TypeSecurityCode("123"); PaymentPage.TypePostCode("S11 8NX"); PaymentPage.TypeStaffReference("smw test"); PaymentPage.TypeStaffCustomerPhone("1"); PaymentPage.ClickConfirmAndCapture(); }
public void ShouldMakeFlightOnlyBooking() { //Select united kingdom as the user location HomePage.TopPanel.ClickLocation(Location.UnitedKingdom); HomePage.SearchFor().FlightOnly().ToDestination("AYT").FromCheckIn("10/10/2014") .ToCheckOut("17/10/2014").FromDepartureAirport("Leeds-Bradford, Leeds, United Kingdom (LBA)") .ForAdults(2).SearchAndCapture(); //Check if result page is displayed within 60 sec Assert.That(FlightResultsPage.IsDisplayed(), "Flight Search Result Page isn't displayed within 60 sec"); //Check if any hote results are displayed for the search Assert.That(FlightResultsPage.AreResultsDisplayed(), "No Results are available for the Flight search"); //Check if search criteria match flight search header //Assert.That(FlightResultsPage.ValidateSearchCriteria(), "Home Search criteria"); //Confirm all flights depature and return dates are same as the search criteria //Assert.That(FlightResultsPage.ValidateResultDates(),Is.True,"Search criteria dates don’t match with the flight results"); //Confirm all inbond outbond departure airport are correct //Assert.That(FlightResultsPage.ValidateResultDestinations(), "Search criteria destination don’t match with the flight results"); //Find supplier on first result page //Assert.IsTrue(FlightResultsPage.ContainsFlightFromSupplier(script.TestName),"Supplier name not found in staff 'Supplier' and 'Airline' information"); //select the first result from first page FlightResultsPage.SelectFlight().ByFlightNumber(FlightResultsPageRnd.PickRandomFlight()).ContinueAndCapture(); //check extra page is displayed Assert.That(ExtrasPage.IsDisplayed(), "Extras Page isn't displayed"); //Price checks Assert.That(ExtrasPage.ValidatePrice(), "Difference in price comparision - Flight price on results page: {0} - Change in Price on Extra Page {1} - Orignal price on extra page: {2}", FlightResultsPage.Data.Price , ExtrasPage.Data.ChangedPrice , ExtrasPage.Data.OrignalPrice); //Check total price against changed price if (ExtrasPage.Data.TotalPrice == 0) { ExtrasPage.Save(Information.TotalPrice); Assert.AreEqual(ExtrasPage.Data.ChangedPrice, ExtrasPage.Data.TotalPrice, "Difference in price comparision - Changed price on extras page: {0} - Total Price on Extras page {1}" , ExtrasPage.Data.ChangedPrice , ExtrasPage.Data.TotalPrice); } //save flight information ExtrasPage.Save(Information.Flight); //Compare selected flight information Assert.AreEqual(FlightResultsPage.Data.OutboundDepartureTime, ExtrasPage.Data.OutboundDepartureTime, "FlightResult page Outbound DepartureTime doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.OutboundArrivalTime, ExtrasPage.Data.OutboundArrivalTime, "FlightResult page Outbound ArrivalTime doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.OutboundFlightNo, ExtrasPage.Data.OutboundFlightNo, "FlightResult page Outbound FlightNumber doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.OutboundDepartureAirport, ExtrasPage.Data.OutboundDepartureAiport, "FlightResult page Outbound DepartureAirport doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.OutboundArrivalAirport, ExtrasPage.Data.OutboundArrivalAirport, "FlightResult page Outbound ArrivalAirport doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.OutboundJourneyTime, ExtrasPage.Data.OutboundJourneyTime, "FlightResult page Outbound JourneyTime doesn't match with Extra Page"); //Assert.AreEqual(FlightResultsPage.Data.OutboundJourney, ExtrasPage.Data.OutboundJourney); Assert.AreEqual(FlightResultsPage.Data.InboundFlightNo, ExtrasPage.Data.InboundFlightNo, "FlightResult page Inbound FlightNumber doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.InboundDepartureTime, ExtrasPage.Data.InboundDepartureTime, "FlightResult page Inbound DepartureTime doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.InboundDepartureAirport, ExtrasPage.Data.InbounddDepartureAiport, "FlightResult page Inbound DepartureAirport doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.InboundArrivalAirport, ExtrasPage.Data.InboundArrivalAirport, "FlightResult page Inbound ArrivalAirport doesn't match with Extra Page"); Assert.AreEqual(FlightResultsPage.Data.InboundArrivalTime, ExtrasPage.Data.InboundArrivalTime, "FlightResult page Inbound ArrivalTime doesn't match with Extra Page"); //Assert.AreEqual(FlightResultsPage.Data.InboundJourney, ExtrasPage.Data.InboundJourney); Assert.AreEqual(FlightResultsPage.Data.InboundJourneyTime, ExtrasPage.Data.InboundJourneyTime, "FlightResult page Inbound JourneyTime doesn't match with Extra Page"); ExtrasPage.BookFlight().Continue(); PaymentPage.Save(Information.Flight); Assert.AreEqual(ExtrasPage.Data.OutboundDepartureTime, PaymentPage.Data.OutboundDepartureTime, "Extra's page Outbound DepartureTime doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.OutboundArrivalTime, PaymentPage.Data.OutboundArrivalTime, "Extra's page Outbound ArrivalTime doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.OutboundJourneyTime, PaymentPage.Data.OutboundJourneyTime, "Extra's page Outbound JourneyTime doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.OutboundJourney, PaymentPage.Data.OutboundJourney, "Extra's page Outbound Journey doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.OutboundAirline, PaymentPage.Data.OutboundAirline, "Extra's page Outbound Airline doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.OutboundFlightNo, PaymentPage.Data.OutboundFlightNo, "Extra's page Outbound FlightNumber doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.InboundDepartureTime, PaymentPage.Data.InboundDepartureTime, "Extra's page Inbound DepartureTime doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.InboundArrivalTime, PaymentPage.Data.InboundArrivalTime, "Extra's page Inbound ArrivalTime doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.InboundJourneyTime, PaymentPage.Data.InboundJourneyTime, "Extra's page Inbound JourneyTime doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.InboundJourney, PaymentPage.Data.InboundJourney, "Extra's page Inbound Journey doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.InboundAirline, PaymentPage.Data.InboundAirline, "Extra's page Inbound Airline doesn't match with Payment Page"); Assert.AreEqual(ExtrasPage.Data.InboundFlightNo, PaymentPage.Data.InboundFlightNo, "Extra's page Inbound FlightNumber doesn't match with Payment Page"); PaymentPage.Save(Information.TotalPrice); Assert.AreEqual(ExtrasPage.Data.TotalPrice, PaymentPage.Data.TotalPrice); PaymentPage.MakeAFlightBooking() .ForGuestDetailsNumber(1).AutoFill() .ForGuestDetailsNumber(2).AutoFill() .ForContactDetails() .WithEmail("*****@*****.**").WithPhoneNumber("08719110030") .ForPaymentDetails() .WithPaymentType(Card.Mastercard) .WithCardNo("5454545454545454") .WithExpiryDate("10/20") .WithSecurityCode("123") .WithPostCode("S11 8NX") .ForStaffDetails().WithReference("test").WithCustomerPhone("Test") .Confirm(); Assert.IsTrue(ConfirmationPage.IsDisplayed(), "Confirmation page isn't displayed within 60 sec"); Assert.IsTrue(ConfirmationPage.PNRNoIsDisplayed(), "PNR Number is empty"); ConfirmationPage.SaveItineraryNo(); ConfirmationPage.SaveBookedByDetails(); ConfirmationPage.SavePNRNo(); ConfirmationPage.SaveFlightDetails(); ConfirmationPage.SaveTotalPrice(); Assert.AreEqual(PaymentPage.Data.TotalPriceWithCardFees, ConfirmationPage.Data.TotalPrice, "Total Price with Card Fee don't match with total price on booking page"); AdminPanelPage.Navigate(AdminPanelEnviorment.Test); Assert.IsTrue(AdminPanelPage.IsDisplayed(), "AdminPanel Page isn't displayed"); AdminPanelPage.SearchBookingByRefrence(ConfirmationPage.Data.ItineraryNo); Assert.IsTrue(AdminPanelPage.IsBookingFound(), "Booking is not found on admin panel"); Assert.IsTrue(AdminPanelPage.IsBookingValid(ConfirmationPage.Data.ItineraryNo), "Itinerary number of the booking found donot match with the itinerary number provided"); AdminPanelPage.SaveBookingDetails(); //ConfirmationPage //HomePage.TopPanel.ClickLocation(Location.UnitedKingdom); ////check if landing page is displayed //Assert.That(HomePage.IsDisplayed, "Home Page isn't displayed"); ////check if landing page is displayed ////Assert.That(HomePage.IsDisplayed, "Home Page isn't displayed"); ////HotelResultsPage.SelectRoom().ByHotel("Hilton").OnlyOneRoomWithAvailableRoom(1).Continue(); ////Enter flight only search data //HomePage.SearchFor().FlightOnly().ToDestination("AYT").FromCheckIn(Calendar.PickRandomCheckInDate()) // .ToCheckOut(Calendar.PickRandomCheckOutDate()).FromDepartureAirport("London Gatwick, London, United Kingdom (LGW)") // .ForAdults(2).SearchAndCapture(); ////Enter flight only search data ///*HomePage.SearchFor().FlightOnly().ToDestination("Paris (All Airports)").FromCheckIn("23/04/2014") // .ToCheckOut("30/04/2014").FromDepartureAirport("London (All Airports), London, United Kingdom (LON)") // .ForAdults(2).SearchAndCapture();*/ ///*HomePage.SearchFor().FlightOnly().ToDestination(script.Destination).FromCheckIn(HomePageRnd.PickRandomCheckInDate()) // .ToCheckOut(HomePageRnd.PickRandomCheckOutDate()).FromDepartureAirport(script.DepartureAirport) // .ForAdults(script.Adults).SearchAndCapture();*/ ////Check if result page is displayed within 60 sec //Assert.That(FlightResultsPage.IsDisplayed(), "Flight Search Result Page isn't displayed within 60 sec"); //FlightResultsPage.ExpandFlexible(); //FlightResultsPage.ClickSearchDateRange(SearchDateRanges.Minus3Days); //FlightResultsPage.ChangeSearchPanel.ChangeSearch().FlightOnly().ToDestination("PMI").FromCheckIn(Calendar.PickRandomCheckInDate()) // .ToCheckOut(Calendar.PickRandomCheckOutDate()).FromDepartureAirport("London Heathrow, London, United Kingdom (LHR)").ForAdults(3).WithChildren(2).OfAges(1, 2).ShowPricesAndCapture(); ////Check if any hote results are displayed for the search //Assert.That(FlightResultsPage.AreResultsDisplayed(), "No Results are available for the Flight search"); ////Check if search criteria match flight search header ////Assert.That(FlightResultsPage.ValidateSearchCriteria(), "Home Search criteria"); ////Confirm all flights depature and return dates are same as the search criteria //FlightResultsPage.ValidateResultDates(); ////Confirm all inbond outbond departure airport are correct //FlightResultsPage.ValidateResultDestinations(); ////select the first result from first page //FlightResultsPage.SelectFlight().ByFlightNumber(1).Continue(); ////check extra page is displayed //Assert.That(ExtrasPage.IsDisplayed(), "Extras Page isn't displayed"); ////save flight information on extra's page //Assert.That(ExtrasPage.ValidatePrice(), "Price on flight result page and extra page doesn't match"); ////Check total price against changed price //if (ExtrasPage.Data.TotalPrice == 0) //{ // ExtrasPage.SaveTotalPrice(); // Assert.AreEqual(ExtrasPage.Data.ChangedPrice, ExtrasPage.Data.TotalPrice, "Changed price and total price don't match"); //} ////save flight information //ExtrasPage.Save(Information.Flight); ////Compare selected flight information //Assert.AreEqual(FlightResultsPage.Data.OutboundFlightNo, ExtrasPage.Data.OutboundFlightNo); //Assert.AreEqual(FlightResultsPage.Data.OutboundDepartureTime, ExtrasPage.Data.OutboundDepartureTime); //Assert.AreEqual(FlightResultsPage.Data.OutboundDepartureAirport, ExtrasPage.Data.OutboundDepartureAiport); //Assert.AreEqual(FlightResultsPage.Data.OutboundArrivalAirport, ExtrasPage.Data.OutboundArrivalAirport); //Assert.AreEqual(FlightResultsPage.Data.OutboundArrivalTime, ExtrasPage.Data.OutboundArrivalTime); ////Assert.AreEqual(FlightResultsPage.Data.OutboundJourney, ExtrasPage.Data.OutboundJourney); //Assert.AreEqual(FlightResultsPage.Data.OutboundJourneyTime, ExtrasPage.Data.OutboundJourneyTime); //Assert.AreEqual(FlightResultsPage.Data.InboundFlightNo, ExtrasPage.Data.InboundFlightNo); //Assert.AreEqual(FlightResultsPage.Data.InboundDepartureTime, ExtrasPage.Data.InboundDepartureTime); //Assert.AreEqual(FlightResultsPage.Data.InboundDepartureAirport, ExtrasPage.Data.InbounddDepartureAiport); //Assert.AreEqual(FlightResultsPage.Data.InboundArrivalAirport, ExtrasPage.Data.InboundArrivalAirport); //Assert.AreEqual(FlightResultsPage.Data.InboundArrivalTime, ExtrasPage.Data.InboundArrivalTime); ////Assert.AreEqual(FlightResultsPage.Data.InboundJourney, ExtrasPage.Data.InboundJourney); //Assert.AreEqual(FlightResultsPage.Data.InboundJourneyTime, ExtrasPage.Data.InboundJourneyTime); //ExtrasPage.BookFlight().Continue(); //PaymentPage.Save(Information.Flight); //Assert.AreEqual(ExtrasPage.Data.OutboundFlightNo, PaymentPage.Data.OutboundFlightNo); //Assert.AreEqual(ExtrasPage.Data.OutboundDepartureTime, PaymentPage.Data.OutboundDepartureTime); //Assert.AreEqual(ExtrasPage.Data.OutboundJourney, PaymentPage.Data.OutboundJourney); //Assert.AreEqual(ExtrasPage.Data.InboundFlightNo, PaymentPage.Data.InboundFlightNo); //Assert.AreEqual(ExtrasPage.Data.InboundDepartureTime, PaymentPage.Data.InboundDepartureTime); //Assert.AreEqual(ExtrasPage.Data.InboundJourney, PaymentPage.Data.InboundJourney); //PaymentPage.Save(Information.TotalPrice); //Assert.AreEqual(ExtrasPage.Data.TotalPrice, PaymentPage.Data.TotalPrice); ////Assert.AreEqual(FlightResultsPage.Data.OutboundArrivalAirport, ExtrasPage.Data.OutboundArrivalAirport); ////Assert.AreEqual(FlightResultsPage.Data.OutboundFlightArrivalTime, ExtrasPage.Data.OutboundArrivalTime); ////Assert.AreEqual(FlightResultsPage.Data.OutboundJourney, ExtrasPage.Data.OutboundJourney); ////Assert.AreEqual(FlightResultsPage.Data.OutboundJourneyTime, ExtrasPage.Data.OutboundJourneyTime); ////ExtrasPage.BookFlight().Continue(); //////check if result page is displayed ////Assert.That(FlightResultsPage.IsDisplayed(), "Flight Search Result Page isn't displayed"); ////Assert.That(FlightResultsPage.AreResultsDisplayed(), "Flight Search Results aren't displayed"); ////Assert.That(FlightResultsPage.ValidateSearchCriteria(), "Validate Search Criteria with Flight Results Page Header"); //////throw new Exception(); //////throw new Exception(); ////Assert.That(FlightResultsPage.ValidateResultDates(), "Search dates donot match"); ////Assert.That(FlightResultsPage.ValidateResultDestinations(), "Search dates donot match"); //////search for Airline //////Assert.That(FlightResultsPage.ContainsFlightFromAirline("Easyjet"), "EasyJet Airline is available in results"); ////FlightResultsPage.SelectFlight().ByFlightNumber(4).ContinueAndCapture(); ////select flight by airline ////FlightResultsPage.ClickFlight(FlightResultsPage.FindFlightForFirstAirline("Easyjet")); //////FlightResultsPage.FindFlightForFirstAirline("EasyJet") //////Search for supplier //////Assert.That(FlightResultsPage.ContainsFlightFromSupplier("TP"), "Supplier not found on current select page"); ////////Search for supplier //////Assert.That(FlightResultsPage.ContainsFlightFromSupplier("TP"), "Supplier not found on current select page"); ////FlightResultsPage.SelectFlight().ByFirstSupplier("TP").Continue(); //////FlightResultsPage.SelectFlight().ByFirstSupplier("TP").Continue(); //////confirm if flight summary page is displayed ////Assert.That(ExtrasPage.IsDisplayed, "Flight summary page isn't displayed"); ////////confirm if flight summary page is displayed //////Assert.That(ExtrasPage.IsDisplayed, "Flight summary page isn't displayed"); ////ExtrasPage.CheckHoldLuggage(); //////ExtrasPage.CheckHoldLuggage(); ////ExtrasPage.SelectHoldLuggagePassengers(1); //////ExtrasPage.SelectHoldLuggagePassengers(1); ////ExtrasPage.CheckFlightExtraNumber(2); //////ExtrasPage.CheckFlightExtrasOption(2); ////ExtrasPage.SelectFlightExtraPassengers(2, 1); //////ExtrasPage.SelectFlightExtraPassengers(2, 1); ////ExtrasPage.ClickExtraLink(Extras.Airport_Transfer); //////ExtrasPage.ClickExtraLink(Extras.Airport_Transfer); ////ExtrasPage.SelectAirportTransferHotelLocation("Charles De Gaulle Airport"); //////ExtrasPage.SelectAirportTransferHotelLocation("Charles De Gaulle Airport"); ////ExtrasPage.TypeAirportTransferHotel("Kyriad Prestige Roissy"); //////ExtrasPage.TypeAirportTransferHotel("Kyriad Prestige Roissy"); ////ExtrasPage.ClickAirportTransterUpdate(); //////ExtrasPage.ClickAirportTransterUpdate(); ////ExtrasPage.CheckTransferNumber(1); //////ExtrasPage.CheckTransferNumber(1); //////ExtrasPage.ClickExtraLink(Extras.Car_Hire); //////ExtrasPage.SelectCarHirePickupLocation("Beauvais Airport"); //////ExtrasPage.SelectCarHireMainDriverAge(22); //////ExtrasPage.SelectCarHirePickupTime("22:00"); //////ExtrasPage.SelectCarHireDropoffTime("07:00"); //////ExtrasPage.CheckCarHireNumber(2); ////ExtrasPage.ClickExtraLink(Extras.Airport_Parking); //////ExtrasPage.ClickExtraLink(Extras.Airport_Parking); ////ExtrasPage.SelectAirportParkingDropoffTime("20:00"); //////ExtrasPage.SelectAirportParkingDropoffTime("20:00"); ////ExtrasPage.SelectAirportParkingPickupTime("11:00"); //////ExtrasPage.SelectAirportParkingPickupTime("11:00"); ////ExtrasPage.ClickAirportParkingUpdate(); //////ExtrasPage.ClickAirportParkingUpdate(); ////ExtrasPage.CheckAirportParkingNumber(2); ////ExtrasPage.CheckAirportParkingNumber(2); ////ExtrasPage.IsVisible(Extras.Hold_luggage); ////ExtrasPage.Visible(Extras.Hold_luggage); }
public void ShouldBookRandomSingleRoom_ForDestination_Benidorm() { //HomePage.ClickFlightOnly(); //HomePage.TypeFlightDestination("Benidorm"); //HomePage.SelectCheckIn("01/06/2014"); //HomePage.SelectCheckOut("08/06/2014"); //HomePage.SelectAirport("London (All Airports), London, United Kingdom (LON)"); //HomePage.SelectAdults(2); //HomePage.SelectChildren(2, new int[] {2,3}); //HomePage.ClickSearch(); //HomePage.SearchFor().FlightOnly().ToDestination("Benidorm").FromCheckIn("01/09/2014") // .ToCheckOut("08/09/2014").FromDepartureAirport("London (All Airports), London, United Kingdom (LON)") // .ForAdults(2).WithChildren(2).OfAges(2, 3).Search(); HomePage.SearchFor().HotelOnly().ToDestination("Benidorm").FromCheckIn("01/09/2014") .ToCheckOut("15/09/2014").ForAdults(2).Search(); Assert.That(HotelResultsPage.IsDisplayed(), Is.True, "Hotel result page is not displayed"); HotelResultsPage.ClickHotelNumber(1); HotelDetailPage.ClickAvaliableRoom(1); Assert.That(ExtrasPage.IsDisplayed(), Is.True, "Extras Page not showing"); //TODO ExtrasPage.Save(Information.Hotel); Assert.That(HotelResultsPage.Data.HotelName == ExtrasPage.Data.HotelName, Is.True, "Differing hotel names from SR to Extras"); //Assert.That(HotelResultsPage.Data.Rooms[0].RoomPrice+==ExtrasPage.Data. ExtrasPage.BookHotel().Continue(); Assert.That(PaymentPage.IsDisplayed(), Is.True, "Payment page not displaying"); PaymentPage.Save(Information.Hotel); Assert.That(ExtrasPage.Data.HotelName == PaymentPage.Data.HotelName, Is.True, "Hotel name differs from Extras to Payment"); PaymentPage.MakeAHotelBooking() .ForGuestDetailsNumber(1).OfRoomNo(1).WithTitle(Title.Mr).WithFirstName("Test").WithLastName("Test") .ForGuestDetailsNumber(2).OfRoomNo(1).WithTitle(Title.Mr).WithFirstName("Test").WithLastName("Test") .ForContactDetails().TypeFirstName("Test").WithLastName("Test").WithEmail("*****@*****.**").WithPhoneNumber("08719110030") .ForPaymentDetails() .WithPaymentType(Card.Mastercard) .WithCardHolderName("Test Test") .WithCardNo("5569510003306537") .WithExpiryDate("03/15") .WithSecurityCode("123") .WithPostCode("S11 8NX") .ForStaffDetails().WithReference("test").WithCustomerPhone("1") .Confirm(); //Assert.That(PaymentPage.Check3DSPage(), Is.True, "3DS page not displaying"); Assert.IsTrue(ConfirmationPage.IsDisplayed(), "Confirmation page isn't displayed within 60 sec"); Assert.IsTrue(ConfirmationPage.PNRNoIsDisplayed(), "PNR Number is empty"); //Assert.That(PaymentPage.ValidateConfirmationMsg(), Is.True, "Confirmation page not showing"); }