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