public static void VerifyMakeOrderIsClickable(CheckoutPage page) { Action <IWebElement> act = (elem) => { }; WaitingExtensions.DoUntilElementIsDisplayed(act, page.DeliveryBlock, true); page.MakeOrderButton.Displayed.Should().BeTrue(); }
private void CheckCurrentOrDefaultAddress(CheckoutPage page) { if ((page?.DeliveryAddresses?.items?.Count ?? 0) == 0) { return; } var currentAddressId = shoppingCart.GetCurrentCartShippingAddress()?.Id ?? 0; if (currentAddressId != 0 && page.DeliveryAddresses.items.Any(a => a.Id == currentAddressId)) { page.DeliveryAddresses.CheckAddress(currentAddressId); } else { var defaultAddressId = kenticoUsers.GetCurrentCustomer().DefaultShippingAddressId; if (defaultAddressId == 0) { defaultAddressId = page.DeliveryAddresses.GetDefaultAddressId(); } shoppingCart.SetShoppingCartAddress(defaultAddressId); page.DeliveryAddresses.CheckAddress(defaultAddressId); } }
public void Purchase_Casio_GShock() { string itemUrl = "Casio-G-Shock-Standard-GA-100-1A2-Mens-Watch-Brand-New-/161209550414?pt=LH_DefaultDomain_15&hash=item2588d6864e"; string itemPrice = "AU $168.00"; ClientInfo currentClientInfo = new ClientInfo() { FirstName = "Anton", LastName = "Angelov", Country = "Bulgaria", Address1 = "33 Alexander Malinov Blvd.", City = "Sofia", Zip = "1729", Phone = "0035964644885", Email = "*****@*****.**" }; ItemPage itemPage = new ItemPage(); CheckoutPage checkoutPage = new CheckoutPage(); ShippingAddressPage shippingAddressPage = new ShippingAddressPage(); SignInPage signInPage = new SignInPage(); itemPage.Navigate(itemUrl); itemPage.Validate().Price(itemPrice); itemPage.ClickBuyNowButton(); signInPage.ClickContinueAsGuestButton(); shippingAddressPage.FillShippingInfo(currentClientInfo); shippingAddressPage.Validate().Subtotal(itemPrice); shippingAddressPage.ClickContinueButton(); checkoutPage.Validate().Subtotal(itemPrice); }
//[TestMethod] public void CheckPriceTagOnCheckoutPage() { string expectedPriceTag = "Online price"; IndexHomePage indexPage = new IndexHomePage(Driver, Url); string firstManufacturer = indexPage.TopHeader.GetManufacturerMenuOptionsText().ElementAtOrDefault(1); indexPage.TopHeader.SetManufacturerDropdown(firstManufacturer); ProductListPage productsListPage = indexPage.TopHeader.ClickOnSubmit(); var firstProductItem = productsListPage.GetResultItems().FirstOrDefault(); firstProductItem.ClickOnAddToCart(); productsListPage.WaitForAppBusy(); indexPage = productsListPage.TopHeader.ClickOnLogo(); CartPage cartPage = indexPage.UtilityMenu.ClickOnCart(); cartPage.WaitUntilItemsAreDisplayed(); SignInRegisterPage signInPage = cartPage.ClickOnProceedToCheckoutButtonAnonymous(); CheckoutPage checkoutPage = signInPage.ClickOnCheckoutAsGuest(); checkoutPage.WaitUntilItemsAreDisplayed(); var productItems = checkoutPage.GetProductItems(); foreach (var product in productItems) { System.Console.WriteLine(product.GetItemDetail(ProductItemDetailsEnum.PriceTag)); Assert.AreEqual(expectedPriceTag, product.GetItemDetail(ProductItemDetailsEnum.PriceTag)); } }
public void Purchase_WhiteOpticalKeyboard() { string itemUrl = "Wireless-White-2-4G-Optical-Keyboard-and-Mouse-USB-Receiver-Kit-For-PC-/360649772948?pt=LH_DefaultDomain_2&hash=item53f866cf94"; string itemPrice = "C $20.86"; ClientInfo currentClientInfo = new ClientInfo() { FirstName = "Anton", LastName = "Angelov", Country = "Bulgaria", Address1 = "33 Alexander Malinov Blvd.", City = "Stara Zagora", Zip = "6000", Phone = "0035964644885", Email = "*****@*****.**" }; ItemPage itemPage = new ItemPage(); CheckoutPage checkoutPage = new CheckoutPage(); ShippingAddressPage shippingAddressPage = new ShippingAddressPage(); SignInPage signInPage = new SignInPage(); itemPage.Navigate(itemUrl); itemPage.Validate().Price(itemPrice); itemPage.ClickBuyNowButton(); signInPage.ClickContinueAsGuestButton(); shippingAddressPage.FillShippingInfo(currentClientInfo); shippingAddressPage.Validate().Subtotal(itemPrice); shippingAddressPage.ClickContinueButton(); checkoutPage.Validate().Subtotal(itemPrice); }
public static void InputPaymentMethod(String creditCardType, String creditCardNumber, String expMonth, String expYear, String cvv) { CheckoutPage CheckoutPage = new CheckoutPage(); WaitUntilElementVisible(By.XPath("//p[contains(text(),'How would you like to pay?')]"), 15); SelectElement CreditCardType = new SelectElement(CheckoutPage.CreditCardType); SelectElement CreditCardExpMonth = new SelectElement(CheckoutPage.CreditCardExpMonth); SelectElement CreditCardExpYear = new SelectElement(CheckoutPage.CreditCardExpYear); CreditCardType.SelectByText(creditCardType); CheckoutPage.CreditCardNumber.SendKeys(creditCardNumber); CreditCardExpMonth.SelectByValue(expMonth); CreditCardExpYear.SelectByValue(expYear); try { CheckoutPage.CreditCardCVV.SendKeys(cvv); } catch (Exception e) { Console.WriteLine(e); } CheckoutPage.PaymentMethodContinueButton.Click(); }
public virtual CheckoutViewModel CreateCheckoutViewModel(ICart cart, CheckoutPage currentPage, IPaymentMethod paymentOption = null) { if (cart == null) { return(CreateEmptyCheckoutViewModel(currentPage)); } var currentShippingAddressId = cart.GetFirstShipment()?.ShippingAddress?.Id; var currentBillingAdressId = cart.GetFirstForm().Payments.FirstOrDefault()?.BillingAddress?.Id; var shipments = _shipmentViewModelFactory.CreateShipmentsViewModel(cart).ToList(); var useShippingAddressForBilling = shipments.Count == 1; var viewModel = new CheckoutViewModel(currentPage) { Shipments = shipments, BillingAddress = CreateBillingAddressModel(currentBillingAdressId), UseShippingingAddressForBilling = useShippingAddressForBilling, AppliedCouponCodes = cart.GetFirstForm().CouponCodes.Distinct(), AvailableAddresses = new List <AddressModel>(), ReferrerUrl = GetReferrerUrl(), Currency = cart.Currency, CurrentCustomer = _customerService.GetCurrentContactViewModel(), IsOnHoldBudget = CheckForOnHoldBudgets(), Payment = paymentOption, PaymentPlanSetting = new PaymentPlanSetting() { CycleMode = Mediachase.Commerce.Orders.PaymentPlanCycle.None, IsActive = false, StartDate = DateTime.UtcNow }, }; UpdatePayments(viewModel, cart); var availableAddresses = GetAvailableAddresses(); if (availableAddresses.Any()) { //viewModel.AvailableAddresses.Add(new AddressModel { Name = _localizationService.GetString("/Checkout/MultiShipment/SelectAddress"), AddressId = "" }); foreach (var address in availableAddresses) { viewModel.AvailableAddresses.Add(address); } } else { viewModel.AvailableAddresses.Add(new AddressModel { Name = _localizationService.GetString("/Checkout/MultiShipment/NoAddressFound"), AddressId = "" }); } SetDefaultShipmentAddress(viewModel, currentShippingAddressId); _addressBookService.LoadAddress(viewModel.BillingAddress); PopulateCountryAndRegions(viewModel); return(viewModel); }
public void Purchase_Casio_GShock() { string itemUrl = "Casio-G-Shock-Standard-GA-100-1A2-Mens-Watch-Brand-New-/161209550414?pt=LH_DefaultDomain_15&hash=item2588d6864e"; string itemPrice = "AU $147.00"; ClientInfo currentClientInfo = new ClientInfo() { FirstName = "Anton", LastName = "Angelov", Country = "Bulgaria", Address1 = "33 Alexander Malinov Blvd.", City = "Sofia", Zip = "1729", Phone = "0035964644885", Email = "*****@*****.**" }; ItemPage itemPage = new ItemPage(); CheckoutPage checkouPage = new CheckoutPage(); ShippingAddressPage shippingAddressPage = new ShippingAddressPage(); SignInPage signInPage = new SignInPage(); itemPage.Navigate(itemUrl); itemPage.Validate().Price(itemPrice); itemPage.ClickBuyNowButton(); signInPage.ClickContinueAsGuestButton(); shippingAddressPage.FillShippingInfo(currentClientInfo); shippingAddressPage.Validate().Subtotal(itemPrice); shippingAddressPage.ClickContinueButton(); checkouPage.Validate().Subtotal(itemPrice); }
public OldShoppingCart(ItemPage itemPage, SignInPage signInPage, CheckoutPage checkoutPage, ShippingAddressPage shippingAddressPage) { _itemPage = itemPage; _signInPage = signInPage; _checkoutPage = checkoutPage; _shippingAddressPage = shippingAddressPage; }
public virtual CheckoutViewModel CreateCheckoutViewModel(ICart cart, CheckoutPage currentPage, IPaymentMethod paymentMethod = null) { if (cart == null) { return(CreateEmptyCheckoutViewModel(currentPage)); } var currentShippingAddressId = cart.GetFirstShipment()?.ShippingAddress?.Id; var currentBillingAdressId = cart.GetFirstForm().Payments.FirstOrDefault()?.BillingAddress?.Id; var shipments = _shipmentViewModelFactory.CreateShipmentsViewModel(cart).ToList(); var useBillingAddressForShipment = shipments.Count == 1 && currentBillingAdressId == currentShippingAddressId && _addressBookService.UseBillingAddressForShipment(); var payments = _paymentMethodViewModelFactory.CreatePaymentMethodSelectionViewModel(paymentMethod); paymentMethod = payments.SelectedPaymentMethod.PaymentMethod; var viewModel = new CheckoutViewModel { CurrentPage = currentPage, Shipments = shipments, BillingAddress = CreateBillingAddressModel(), UseBillingAddressForShipment = useBillingAddressForShipment, StartPage = _contentLoader.Get <StartPage>(ContentReference.StartPage), AppliedCouponCodes = cart.GetFirstForm().CouponCodes.Distinct(), AvailableAddresses = new List <AddressModel>(), ReferrerUrl = GetReferrerUrl(), Payment = paymentMethod, }; var availableAddresses = GetAvailableAddresses(); if (availableAddresses.Any()) { viewModel.AvailableAddresses.Add(new AddressModel { Name = _localizationService.GetString("/Checkout/MultiShipment/SelectAddress") }); foreach (var address in availableAddresses) { viewModel.AvailableAddresses.Add(address); } } else { viewModel.AvailableAddresses.Add(new AddressModel { Name = _localizationService.GetString("/Checkout/MultiShipment/NoAddressFound") }); } SetDefaultShipmentAddress(viewModel, currentShippingAddressId); _addressBookService.LoadAddress(viewModel.BillingAddress); PopulateCountryAndRegions(viewModel); viewModel.KlarnaCheckoutPaymentMethodSelected = viewModel.Payment?.SystemKeyword == Constants.KlarnaCheckoutSystemKeyword; return(viewModel); }
public void WhenICompleteCheckout() { _driver.Url = test_url + "/index.php?controller=order&step=1"; CheckoutPage checkout = new CheckoutPage(_driver); checkout.CompleteCheckoutSimple(true); this.lastOrderRef = checkout.GetOrderRef(); }
public void CreateCheckoutViewModelWithPayment_ShouldReturnViewModelWithCorrectPayment() { var checkoutPage = new CheckoutPage(); var viewModel = _subject.CreateCheckoutViewModel(_cart, checkoutPage, _creditPayment); Assert.Equal(viewModel.PaymentMethodViewModels.Count(), 2); Assert.Equal(viewModel.Payment.SystemKeyword, creditPaymentName); }
public void ThenTheFinalTotalShouldAddUp() { CheckoutPage checkoutPage = new CheckoutPage(Driver); var total = checkoutPage.GetTotal(); var totalElementText = Driver.FindElement(By.XPath("/html/body/div/div[2]/div/div[3]/div/div[2]/table/tfoot/tr[1]/td[3]")).Text.Split('$'); Assert.AreEqual(total, Convert.ToDouble(totalElementText[1])); }
public void CreateCheckoutViewModel_WithNonePreferredAddress_ShouldSetDefaultBillingAddressToGuid() { var checkoutPage = new CheckoutPage(); _addressBookServiceMock.Setup(x => x.GetPreferredBillingAddress()).Returns((CustomerAddress)null); var viewModel = _subject.CreateCheckoutViewModel(_cart, checkoutPage); Assert.IsType(typeof(Guid), Guid.Parse(viewModel.BillingAddress.Name)); }
private BillingDetailItem _billinInfo; //just one for testing public PurchaseWorkflow(IWebDriver driver) { _driver = driver; _shopPage = new ShopPage(driver); _cartPage = new CartPage(driver); _checkoutPage = new CheckoutPage(driver); CreateBillingInfo(); }
public DemoStoreTest(EnvironmentFixture fixture) { _fixture = fixture; _initialPage = new InitialPage(_fixture.Driver); _resultSearchPage = new ResultSearchPage(_fixture.Driver); _viewCartPage = new ViewCartPage(_fixture.Driver); _checkoutPage = new CheckoutPage(_fixture.Driver); _detailsProductPage = new DetailsProductPage(_fixture.Driver); }
public void POMTestCase1() { log.Info("Test execution starts!"); // variable definitions (data-driven) string userName = Convert.ToString(this.TestContext.DataRow["userName"]); string passWord = Convert.ToString(this.TestContext.DataRow["passWord"]); string searchKeyWord = Convert.ToString(this.TestContext.DataRow["searchKeyWord"]); string firstName = Convert.ToString(this.TestContext.DataRow["firstName"]); string lastName = Convert.ToString(this.TestContext.DataRow["lastName"]); string emailAddress = Convert.ToString(this.TestContext.DataRow["emailAddress"]); string city = Convert.ToString(this.TestContext.DataRow["city"]); string address = Convert.ToString(this.TestContext.DataRow["address"]); string postalCode = Convert.ToString(this.TestContext.DataRow["postalCode"]); string cellPhoneNumber = Convert.ToString(this.TestContext.DataRow["cellPhoneNumber"]); string poNumber = Convert.ToString(this.TestContext.DataRow["poNumber"]); // navigate to the website HomePage homePage = new HomePage(driver); homePage.NavigateToHomePage(); // login LoginPage loginPage = homePage.GoToLoginPage(); loginPage.TypeUserName(userName); /* also has an assertion */ loginPage.TypePassword(passWord); /* also has an assertion */ loginPage.ConfirmLoginAndGoBackToHomePage(); // search for an item SearchResultPage searchResultPage = homePage.Search(searchKeyWord); // put the first searched item into cart searchResultPage.AddCertainItemToCart(0); // go to the shopping cart and accept the term of service ShoppingCartPage shoppingCartPage = searchResultPage.GoToShoppingCartPage(); shoppingCartPage.AcceptTermOfService(); shoppingCartPage.AssertSubTotalPrice(); /*confirm the subtotal output*/ // go to the checkout page and fill the info CheckoutPage checkoutPage = shoppingCartPage.GoToCheckoutPage(); checkoutPage.FillInfo(firstName, lastName, emailAddress, city, address, postalCode, cellPhoneNumber, poNumber); // go to thank you page ThankYouPage thankYouPage = checkoutPage.GoToThankYouPage(); // finish purchase and go back to home page HomePage homePageBack = thankYouPage.FinishPurchaseAndGoToHomePage(); // logout homePageBack.Logout(); log.Info("Test execution finishes!"); }
public void CheckoutTest() { CheckoutPage checkoutPage = CheckoutPage.visit(driver); checkoutPage.EnterInformation(); CheckoutOverviewPage checkoutOverviewPage = new CheckoutOverviewPage(driver); Assert.That(checkoutOverviewPage.onPage()); }
public void ThenOnTheCheckoutPageBookingSummaryDisplaysCorrectInformation() { CheckoutPage checkout = new CheckoutPage(driver); DateTime departDateTimeCheckout = BasicHelper.ConvertToDateTime(checkout.DepartArrivalCheckout[0].Text); DateTime arrivalDateTimeCheckout = BasicHelper.ConvertToDateTime(checkout.DepartArrivalCheckout[1].Text); Assert.AreEqual(ScenarioContext.Current[DepartSearchPage], departDateTimeCheckout, "Departure Date / Time are different on Search and Checkout page"); Assert.AreEqual(ScenarioContext.Current[ArrivalSearchPage], arrivalDateTimeCheckout, "Arrival Date / Time are different on Search and Checkout page"); }
public ShoppingCart Create() { var itemPage = new ItemPage(_driver); var signInPage = new SignInPage(_driver); var checkoutPage = new CheckoutPage(_driver); var shippingAddressPage = new ShippingAddressPage(_driver); var purchaseFacade = new ShoppingCart(itemPage, signInPage, checkoutPage, shippingAddressPage); return(purchaseFacade); }
public void Setup() { new DriverManager().SetUpDriver(new ChromeConfig(), VersionResolveStrategy.MatchingBrowser); ChromeOptions options = new ChromeOptions(); options.AddArguments("--headless"); _driver = new ChromeDriver(options); _checkoutPage = new CheckoutPage(_driver); _checkoutPage.Navigate(); }
public static CheckoutPage InputReceiverData(CheckoutPage page, string name, string phone, string email) { page.NameAndSurname.SetValue(name); page.Phone.SetValue(phone); page.Email.SetValue(email); Action <IWebElement> act0 = (elem) => { page.ContinueButton.Click(); }; WaitingExtensions.DoUntilElementIsDisplayed(act0, page.MakeOrderButton, true); return(page); }
public void PurchaseItem(string item, string itemPrice, ClientInfo clientInfo) { ItemPage.Navigate(item); ItemPage.Validate().Price(itemPrice); ItemPage.ClickBuyNowButton(); SignInPage.ClickContinueAsGuestButton(); ShippingAddressPage.FillShippingInfo(clientInfo); ShippingAddressPage.Validate().Subtotal(itemPrice); ShippingAddressPage.ClickContinueButton(); CheckoutPage.Validate().Subtotal(itemPrice); }
public void WhenCheckThisOnCartAsWellAsTotalPrice(string p0) { //string expected_title = "Conteúdo do carrinho"; string expected_title = "Cart contents"; cart_page.load_complete(); Assert.That(cart_page.getPageTitle() == expected_title); Assert.That(cart_page.getTotal() == price_product); cart_page.goTotheCheckout(); checkout_page = new CheckoutPage(driver); }
public void Setup() { Driver = new Driver(Driver.BrowserType.Chrome); Driver.WebDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5); Driver.WebDriver.Manage().Window.Maximize(); BuyPage = new BuyPage(Driver); CartPage = new CartPage(Driver); CheckoutPage = new CheckoutPage(Driver); Header = new Header(Driver); }
private CheckoutViewModel CreateEmptyCheckoutViewModel(CheckoutPage currentPage) { return(new CheckoutViewModel(currentPage) { Shipments = new List <ShipmentViewModel>(), AppliedCouponCodes = new List <string>(), AvailableAddresses = new List <AddressModel>(), PaymentMethodViewModels = Enumerable.Empty <PaymentMethodViewModel>(), UseShippingingAddressForBilling = true }); }
public CheckoutPageViewModel(CheckoutPage view, TicketRepository repository, Showtime showtime, List <AuditoriumSeat> seats) { this.repository = repository; this.showtime = showtime; this.seats = seats; this.view = view; Total = showtime.Price * seats.Count; ArrowAnimatedBrush = new SolidColorBrush(); }
private CheckoutViewModel CreateEmptyCheckoutViewModel(CheckoutPage currentPage) { return(new CheckoutViewModel { CurrentPage = currentPage, Shipments = new List <ShipmentViewModel>(), AppliedCouponCodes = new List <string>(), StartPage = _contentLoader.Get <StartPage>(ContentReference.StartPage), AvailableAddresses = new List <AddressModel>(), UseBillingAddressForShipment = true }); }
public virtual CheckoutViewModel CreateCheckoutViewModel(ICart cart, CheckoutPage currentPage, IPaymentMethodViewModel <PaymentMethodBase> paymentViewModel = null) { if (cart == null) { return(CreateEmptyCheckoutViewModel(currentPage)); } var shipments = _shipmentViewModelFactory.CreateShipmentsViewModel(cart).ToList(); var viewModel = new CheckoutViewModel { CurrentPage = currentPage, Shipments = shipments, BillingAddress = CreateBillingAddressModel(), UseBillingAddressForShipment = shipments.Count == 1 && _addressBookService.UseBillingAddressForShipment(), StartPage = _contentLoader.Get <StartPage>(ContentReference.StartPage), AppliedCouponCodes = cart.GetFirstForm().CouponCodes.Distinct(), AvailableAddresses = new List <AddressModel>(), ReferrerUrl = GetReferrerUrl(), Payment = paymentViewModel, CurrentCustomer = _customerService.GetCurrentContact(), IsOnHoldBudget = CheckForOnHoldBudgets() }; UpdatePayment(viewModel); var availableAddresses = GetAvailableAddresses(); if (availableAddresses.Any()) { viewModel.AvailableAddresses.Add(new AddressModel { Name = _localizationService.GetString("/Checkout/MultiShipment/SelectAddress") }); foreach (var address in availableAddresses) { viewModel.AvailableAddresses.Add(address); } } else { viewModel.AvailableAddresses.Add(new AddressModel { Name = _localizationService.GetString("/Checkout/MultiShipment/NoAddressFound") }); } SetDefaultShipmentAddress(viewModel); _addressBookService.LoadAddress(viewModel.BillingAddress); PopulateCountryAndRegions(viewModel); return(viewModel); }
public void AddProductsToCartAndDeleteInCrome() { OnlineStorePage onlineStorePage = new OnlineStorePage(); ProductPage productPage = new ProductPage(); Product product = new Product(); GeneralPage generalPage = new GeneralPage(); CheckoutPage checkoutPage = new CheckoutPage(); onlineStorePage.Open(driver, wait); onlineStorePage.AddProductsToCart(driver, wait, "Most Popular", 3); generalPage.ClickCheckout(driver, wait); checkoutPage.RemoveAllProducts(driver, wait); }
private CheckoutViewModel CreateEmptyCheckoutViewModel(CheckoutPage currentPage) { return new CheckoutViewModel { CurrentPage = currentPage, Shipments = new List<ShipmentViewModel>(), AppliedCouponCodes = new List<string>(), StartPage = _contentLoader.Get<StartPage>(ContentReference.StartPage), AvailableAddresses = new List<AddressModel>(), PaymentMethodViewModels = Enumerable.Empty<PaymentMethodViewModel<Payment.PaymentMethods.PaymentMethodBase>>(), UseBillingAddressForShipment = true }; }