public void E2E02() { IndexPage indexPage = new IndexPage(driver, url); Login(indexPage); //Click on a Top Level Category (e.g.Hardware & Supplies) CatalogItemsPage catalogItemsPage = indexPage.Header.ClickOnCategory("Hardware & Supplies"); Assert.IsTrue(catalogItemsPage.CheckIfYourPriceIsDisplayed(), "Your price is not diplayed"); //Product list views catalogItemsPage.AddToCartElementByIndex(0); catalogItemsPage.ClickOnListViewIcon(); catalogItemsPage.AddToCartElementByIndex(2); Assert.IsTrue(catalogItemsPage.ListViewDisplayed(), "The product view was not updated to List view(stack view)."); //Page Navigation catalogItemsPage = catalogItemsPage.ClickOnNextPage(); Assert.AreEqual("2", catalogItemsPage.GetActualPageListNumber(), "The page list number must be '2'."); catalogItemsPage.AddToCartElementByIndex(0); catalogItemsPage = catalogItemsPage.ClickOnLastPage(); Assert.AreEqual(catalogItemsPage.GetLastPageListNumber(), catalogItemsPage.GetActualPageListNumber(), "Last page must be diplayed."); catalogItemsPage.AddToCartElementByIndex(0); //Category Navigation catalogItemsPage = catalogItemsPage.ClickOnSubCategory("Buzzers"); catalogItemsPage.AddToCartFirstItemInCatalog(); //Cart & Save for Later CartPage cartPage = catalogItemsPage.Header.ClickOnViewCart(); Assert.AreEqual(5, cartPage.GetNumberOfItemsInCart(), "Must be 5 items in cart"); Assert.IsTrue(cartPage.TotalAmountIsCorrect(), "The total amount doesn't reflect the sum of the items total."); cartPage.SelectAllItems(); Assert.AreEqual(cartPage.GetNumberOfItemsInCart(), cartPage.GetNumberOfSelectedItems(), "Not all items were selected."); cartPage.MoveSelectedToSaveLater(); Assert.AreEqual(0, cartPage.GetNumberOfItemsInCart(), "All items must be moved to 'Save for later' tab"); cartPage.ClickOnSavedForLater(); cartPage.SelectItemsByIndex(0); cartPage.SelectItemsByIndex(1); cartPage.SelectItemsByIndex(2); cartPage.MoveSelectedToCart(); cartPage.ClickIndividualMoveToCartByIndex(1); cartPage.ClickOnCartTab(); Assert.AreEqual(4, cartPage.GetNumberOfItemsInCart(), "Number of items in cart must be 4."); Assert.IsTrue(cartPage.InventoryAvailabilityIsDisplayed(), "Inventory availability must be displayed."); cartPage.SelectItemsByIndex(0); cartPage.SelectItemsByIndex(1); cartPage.ClickRemoveSelectedItems(); cartPage.RemoveIndividualItemByIndex(0); Assert.AreEqual(1, cartPage.GetNumberOfItemsInCart(), "Number of items in cart must be 1."); //Checkout and continue shopping CheckoutPage checkoutPage = cartPage.ProceedToCheckOut(); checkoutPage.UserInfoIsPopulated(); AddressModel addressModel = GetAddressModel(); checkoutPage.SetAddressElement(AddressInputs.StreetAddress, addressModel.street); checkoutPage.SetAddressElement(AddressInputs.City, addressModel.city); checkoutPage.SetAddressElement(AddressInputs.State, addressModel.state); checkoutPage.SetAddressElement(AddressInputs.Postal, addressModel.postal); checkoutPage.SetAddressElement(AddressInputs.ATTN, "Tundra Restaurant Supply"); checkoutPage.NextStep(); OrderConfirmationPage orderConfirmationPage = checkoutPage.PlaceOrderSubmitClick(); orderConfirmationPage.ClickOnContinueShoppingButton(ContinueShoppingButtons.ContinueShopping); }
public void E2E01() { //Search & Price IndexPage indexPage = new IndexPage(driver, url); indexPage.Header.SetSearchFieldText("103-1035"); CatalogItemsPage catalogItemsPage = indexPage.Header.ClickOnSearchButton(); //Add product to the cart from the result page Assert.IsTrue(catalogItemsPage.IsListPriceDisplayed(), "There is no numeric price shown."); int quantityBeforeAdd = catalogItemsPage.Header.GetCartQuantity(); catalogItemsPage.AddToCartElementByIndex(0); int quantityAfterAdd = catalogItemsPage.Header.GetCartQuantity(); Assert.IsTrue(quantityAfterAdd > quantityBeforeAdd, "The item quantity did no increment"); //Click on the product to go to the Product Detail Page OfferingProductsPage offeringProductsPage = catalogItemsPage.ClickOnFirstItemInCatalog(); Assert.IsTrue(offeringProductsPage.ListPriceLabelforANON(), "List price tag not shown."); Assert.IsTrue(offeringProductsPage.NumericPriceDisplayed(), "No numeric price diplayed."); offeringProductsPage.UpdateAmountQuantity(); int amountQuantityBeforeAdd = offeringProductsPage.GetAmountQuantity(); //Add product to the cart from Product Detail Page and click on cart offeringProductsPage.AddToCartFirstProduct(); offeringProductsPage.UpdateAmountQuantity(); int amountQuantityAfterAdd = offeringProductsPage.GetAmountQuantity(); Assert.IsTrue(offeringProductsPage.AumontQuantityIncremented(amountQuantityBeforeAdd, amountQuantityAfterAdd), "Quantity did not incremented."); CartPage cartPage = offeringProductsPage.ClickOnCart(); Assert.AreEqual(1, cartPage.NumberOfItemsInCart(), "Should be just one product in cart."); Assert.AreEqual(2, cartPage.GetQuantityInput(), "Quantity must be 2."); //Checkout cartPage.ProceedToCheckOut(); CheckoutPage checkoutPage = cartPage.CheckoutAsGuest(); ContactInfoModel contactInfoModel = new ContactInfoModel(); contactInfoModel.FirstName = "Jesus Carlos"; contactInfoModel.LastName = "Acosta Rocha"; contactInfoModel.Email = "*****@*****.**"; contactInfoModel.Company = "Softtek"; contactInfoModel.PhoneNumber = "6681596072"; checkoutPage.SetContactElement(ContactInputs.FirstName, contactInfoModel.FirstName); checkoutPage.SetContactElement(ContactInputs.LastName, contactInfoModel.LastName); checkoutPage.SetContactElement(ContactInputs.Email, contactInfoModel.Email); checkoutPage.SetContactElement(ContactInputs.Company, contactInfoModel.Company); checkoutPage.SetContactElement(ContactInputs.PhoneNumber, contactInfoModel.PhoneNumber); checkoutPage.NextStep(); AddressModel addressModel = GetAddressModel(); checkoutPage.SetAddressElement(AddressInputs.StreetAddress, addressModel.street); checkoutPage.SetAddressElement(AddressInputs.City, addressModel.city); checkoutPage.SetAddressElement(AddressInputs.State, addressModel.state); checkoutPage.SetAddressElement(AddressInputs.Postal, addressModel.postal); checkoutPage.NextStep(); SetCreditCard(checkoutPage); checkoutPage.NextStep(); //Confirmation page and continue shopping OrderConfirmationPage orderConfirmationPage = checkoutPage.PlaceOrderSubmitClick(); orderConfirmationPage.ClickOnContinueShoppingButton(ContinueShoppingButtons.PrintOrderConfirmation); Assert.AreEqual(2, driver.WindowHandles.Count, "Printable Order Confirmation Not Shown."); driver.SwitchTo().DefaultContent(); orderConfirmationPage.ClickOnContinueShoppingButton(ContinueShoppingButtons.ContinueShopping); }
public void E2ETestwithContactInfoandAddressUser() { var indexPage = new APIndexPage(Driver, Url); //TODO //use a datafactory tool instead csv (checkout.csv) var testData = new { country = "Country", countryShort = "CountryShort", address = "StreetAddress", state = "State", city = "City", zipCode = "ZipCode", apt = "Apt", firstname = "FirstName", lastname = "LastName", company = "Company", phonenumber = "PhoneNumber", attn = "ATTN", }; APLoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login("test", "1234"); manufacturerOption = indexPage.Header.GetManufacturerDropdownOptions().ElementAtOrDefault(2); indexPage.Header.SelectManufacturer(manufacturerOption); CatalogItemsPage catalogItemPage = indexPage.Header.ClickOnSearchButton(); catalogItemPage.AddtoCartbuttonInCatalog(); Thread.Sleep(5000); APCartPage CartMainPage = catalogItemPage.Header.ClickOnViewCart(); //Waiting For Loading Cart Thread.Sleep(7000); //Click no Proceed to checkout button APCheckoutPage checkoutPage = CartMainPage.ProceedToCheckOut(); Thread.Sleep(5000); checkoutPage.SelectAddressRadioButton(AddressSelectOptions.Existing); Thread.Sleep(5000); checkoutPage.SelectFirstInAddressDropDown(); checkoutPage.ClickShippingButton(); Thread.Sleep(5000); PaymentOptionModel cardToken = new PaymentOptionModel { CardNumber = "4111111111111111", ExpirationMont = "12", ExpirationYear = "24", HolderName = "Test corp", Cvv = "077" }; checkoutPage.SetBillingElement(BillingInputs.CardHolderName, cardToken.HolderName); checkoutPage.SetBillingElement(BillingInputs.CardNumber, cardToken.CardNumber); checkoutPage.SetBillingElement(BillingInputs.ExpirationMonth, cardToken.ExpirationMont); checkoutPage.SetBillingElement(BillingInputs.ExpirationYear, cardToken.ExpirationYear); checkoutPage.SetBillingElement(BillingInputs.CVV, cardToken.Cvv); Thread.Sleep(5000); checkoutPage.SelectFirstInBillingDropDown(); Assert.IsTrue(checkoutPage.BillingButtonIsEnable(), "Proceed to Review and Place Your Order button is not available"); Thread.Sleep(5000); checkoutPage.BillingSubmitClick(); Assert.IsTrue(checkoutPage.PlaceOrderButtonIsEnable(), "Place Your Order button is not available"); Thread.Sleep(5000); OrderConfirmationPage orderpage = checkoutPage.PlaceOrderSubmitClick(); Assert.IsTrue(checkoutPage.OrderConfirmationText(), "Order Confirmation text is not available"); }
public void E2E03() { //Content IndexPage indexPage = new IndexPage(driver, url); Login(indexPage); //Shopping lists OfferingProductsPage offeringProductsPage = indexPage.ClickOnProductSpotlightDealsByIndex(0); offeringProductsPage.ClickOnAddToList(); Assert.AreEqual(1, offeringProductsPage.AddListModal.GetOptionsFromChooseListModal().Count, "There must be just 1 option."); Assert.AreEqual("My List", offeringProductsPage.AddListModal.GetOptionsFromChooseListModal()[0].webElement.Text, "The option must be 'My List'"); offeringProductsPage.AddListModal.CloseAddToListModal(); offeringProductsPage.ClickOnAddToList(); offeringProductsPage.AddListModal.ClickOnAddToListModal(); offeringProductsPage.AddListModal.IsSuccessMessageInModal(); offeringProductsPage.AddListModal.CloseAddToListModal(); //Shopping lists offeringProductsPage.ChangeQuantity(2); offeringProductsPage.UpdateAmountQuantity(); int amountQuantityBeforeAdd = offeringProductsPage.GetAmountQuantity(); offeringProductsPage.AddToCartFirstProduct(); offeringProductsPage.UpdateAmountQuantity(); int amountQuantityAfterAdd = offeringProductsPage.GetAmountQuantity(); Assert.IsTrue(offeringProductsPage.AumontQuantityIncremented(amountQuantityBeforeAdd, amountQuantityAfterAdd), "Quantity did not increment."); offeringProductsPage.ScrollToTop(); offeringProductsPage.WaitForAppBusy(3); offeringProductsPage.Header.SetSearchFieldText("Amana"); CatalogItemsPage catalogItemsPage = offeringProductsPage.Header.ClickOnSearchButton(); catalogItemsPage.AddToListByIndex(0); catalogItemsPage.AddToListByIndex(1); catalogItemsPage.AddToListByIndex(2); ListSummaryPage listSummaryPage = catalogItemsPage.AddToListByIndex(3, visitList: true); Assert.AreEqual(5, listSummaryPage.NumberOfItemsInList(), "Quantity must be 5."); listSummaryPage.SelectByIndex(0); listSummaryPage.SelectByIndex(1); listSummaryPage.ClickOnRemoveSelected(); Assert.AreEqual(3, listSummaryPage.NumberOfItemsInList(), "Quantity must be 3."); listSummaryPage.RemoveIndividualByIndex(0); Assert.AreEqual(2, listSummaryPage.NumberOfItemsInList(), "Quantity must be 2."); // if different in cart is true, it clicks on a different index listSummaryPage.ClickOnAddToCartByIndex(1, differentInCart: true); //******************* ListHomePage listHomePage = listSummaryPage.ClickOnBreadCrumbLists(); listHomePage.ClickCreateaNewList(); listHomePage.SendListName("new list"); listHomePage.ClickCreateListButton(); Assert.IsTrue(listHomePage.SuccessListCreated(), "List was not created"); listHomePage.CloseModal(); catalogItemsPage = listHomePage.Header.ClickOnCategory("Hardware & Supplies"); listSummaryPage = catalogItemsPage.AddToListByIndex(0, visitList: true, list: "new list"); Assert.AreEqual(1, listSummaryPage.NumberOfItemsInList(), "There must be 1 item."); listHomePage = listSummaryPage.ClickOnBreadCrumbLists(); Assert.AreEqual(2, listHomePage.GetNumberOfLists()); //Create new payment method at checkout CartPage cartPage = listHomePage.Header.ClickOnViewCart(); Assert.AreEqual(2, cartPage.GetNumberOfItemsInCart()); cartPage.GetQuantityInput(); Assert.IsTrue(cartPage.IsQuantityInCartItem(2), "One of the quantity items must be 1."); CheckoutPage checkoutPage = cartPage.ProceedToCheckOut(); checkoutPage.UserInfoIsPopulated(); AddressModel addressModel = GetAddressModel(); checkoutPage.SetAddressElement(AddressInputs.StreetAddress, addressModel.street); checkoutPage.SetAddressElement(AddressInputs.City, addressModel.city); checkoutPage.SetAddressElement(AddressInputs.State, addressModel.state); checkoutPage.SetAddressElement(AddressInputs.Postal, addressModel.postal); checkoutPage.SetAddressElement(AddressInputs.ATTN, "Tundra Restaurant Supply"); checkoutPage.NextStep(); checkoutPage.ClickEditAction(EditActions.SecureBillingInformation); checkoutPage.ClickOnAssingNewCard(); SetCreditCard(checkoutPage); checkoutPage.NextStep(); OrderConfirmationPage orderConfirmationPage = checkoutPage.PlaceOrderSubmitClick(); orderConfirmationPage.ClickOnContinueShoppingButton(ContinueShoppingButtons.ContinueShopping); }
public void AddAddressChecktoutoMyAccount() { var indexPage = new APIndexPage(Driver, Url); //TODO //use a datafactory tool instead csv (shipping.csv) var testData = new { country = "Country", countryShort = "CountryShort", address = "StreetAddress", state = "State", city = "City", zipCode = "ZipCode", apt = "Apt", firstname = "FirstName", lastname = "LastName", company = "Company", phonenumber = "PhoneNumber", attn = "ATTN" }; APLoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login("test", "1234"); manufacturerOption = indexPage.Header.GetManufacturerDropdownOptions().ElementAtOrDefault(2); indexPage.Header.SelectManufacturer(manufacturerOption); CatalogItemsPage catalogItemPage = indexPage.Header.ClickOnSearchButton(); catalogItemPage.AddtoCartbuttonInCatalog(); Thread.Sleep(5000); APCartPage CartMainPage = catalogItemPage.Header.ClickOnViewCart(); //Waiting For Loading Cart Thread.Sleep(7000); //Click no Proceed to checkout button APCheckoutPage checkoutPage = CartMainPage.ProceedToCheckOut(); Thread.Sleep(5000); //checkoutPage.SelectAddressRadioButton(AddressSelectOptions.New); Thread.Sleep(5000); checkoutPage.SetAddressElement(AddressInputs.ATTN, testData.attn); checkoutPage.SetAddressElement(AddressInputs.StreetAddress, testData.address); checkoutPage.SetAddressElement(AddressInputs.Apt, testData.apt); checkoutPage.SetAddressElement(AddressInputs.City, testData.city); checkoutPage.SetAddressElement(AddressInputs.State, testData.state); checkoutPage.SetAddressElement(AddressInputs.Postal, testData.zipCode); checkoutPage.ClickShippingButton(); Thread.Sleep(5000); //checkoutPage.SelectBillingRadioButton(BillingSelectOptions.Existing); PaymentOptionModel cardToken = new PaymentOptionModel { CardNumber = "4111111111111111", ExpirationMont = "12", ExpirationYear = "24", HolderName = "Test corp", Cvv = "077" }; checkoutPage.SetBillingElement(BillingInputs.CardHolderName, cardToken.HolderName); checkoutPage.SetBillingElement(BillingInputs.CardNumber, cardToken.CardNumber); checkoutPage.SetBillingElement(BillingInputs.ExpirationMonth, cardToken.ExpirationMont); checkoutPage.SetBillingElement(BillingInputs.ExpirationYear, cardToken.ExpirationYear); checkoutPage.SetBillingElement(BillingInputs.CVV, cardToken.Cvv); Thread.Sleep(5000); checkoutPage.SelectFirstInBillingDropDown(); Assert.IsTrue(checkoutPage.BillingButtonIsEnable(), "Proceed to Review and Place Your Order button is not available"); Thread.Sleep(5000); checkoutPage.BillingSubmitClick(); Assert.IsTrue(checkoutPage.PlaceOrderButtonIsEnable(), "Place Your Order button is not available"); Thread.Sleep(5000); //checkoutPage.PlaceOrderSubmitClick(); OrderConfirmationPage orderpage = checkoutPage.PlaceOrderSubmitClick(); Assert.IsTrue(checkoutPage.OrderConfirmationText(), "Order Confirmation text is not available"); //APCheckoutPage checkoutPage = CartMainPage.ProceedToCheckOut(); indexPage = orderpage.ContinueShoppingClick(); //AddressesHomePage addresspage = indexPage.Header.ClickOnAddresses(); //var dropdownItems = addresspage.GetAddressesDropdownItems(AccessLevel.User).ToList(); ////just created address data //string createdAddress = string.IsNullOrEmpty(testData.apt) ? // $"{testData.address}, {testData.city} {testData.countryShort} {testData.zipCode}" // : // $"{testData.address}, {testData.apt}, {testData.city} {testData.countryShort} {testData.zipCode}"; ////search the address in the user level dropdown //string expectedAddress = dropdownItems.FirstOrDefault(x => x.Contains(createdAddress)); //Assert.IsNotNull(expectedAddress, "Address is not found in dropdown"); }