public void FillCardTokenForm(PaymentOptionModel cardToken) { string parentWindow = Driver.WindowHandles[0]; DomElement cardTokenContainer = DetailSection.GetElementWaitByCSS(DetailSectionCardTokenForm.locator); DomElement cardTokenContainerFrame = cardTokenContainer.GetElementWaitByCSS(CenposFrame.locator); IWebDriver iFrame = Driver.SwitchTo().Frame(FrameName); Helper.FindByCondition(By.CssSelector(CenposFrameForm.locator), (el) => el.Displayed); IWebElement cardTokenContainerFrameFormCardNumber = iFrame.FindElement(By.CssSelector(CardNumberField.locator)); IWebElement cardTokenContainerFrameFormCardMonth = iFrame.FindElement(By.CssSelector(CardMonthField.locator)); IWebElement cardTokenContainerFrameFormCardYear = iFrame.FindElement(By.CssSelector(CardYearField.locator)); IWebElement cardTokenContainerFrameFormCardName = iFrame.FindElement(By.CssSelector(CardNameField.locator)); IWebElement cardTokenContainerFrameFormCardCvv = iFrame.FindElement(By.CssSelector(CardCvvField.locator)); cardTokenContainerFrameFormCardNumber.SendKeys(cardToken.CardNumber); cardTokenContainerFrameFormCardMonth.SendKeys(cardToken.ExpirationMont); cardTokenContainerFrameFormCardYear.SendKeys(cardToken.ExpirationYear); cardTokenContainerFrameFormCardName.SendKeys(cardToken.HolderName); cardTokenContainerFrameFormCardCvv.SendKeys(cardToken.Cvv); Driver.SwitchTo().Window(parentWindow); }
public void ClickOnPaymentOption(AccessLevel level, PaymentOptionModel payment) { DomElement paymentsDropdown = GetDropdownByAccessLevel(level); string paymentData = $"{payment.LastFourDigits} {payment.ExpirationMont}/{payment.ExpirationYear}"; SelectDropDownAutoCompleteOption(paymentsDropdown, paymentData); }
public void AddCreditCardUsingNewAddress() { var testData = TestDataFactory.CreateLoginAccount(); #region test data models var cardtoken = new PaymentOptionModel { CardNumber = "5582508629687473", ExpirationMont = "12", ExpirationYear = "24", HolderName = "Test corp", Cvv = "077", LastFourDigits = "7473" }; var address = new AddressModel { country = "US", CompanyName = "QA Softtek Automation", state = "CO", city = "Denver", street = "Elm street", postal = "22780", apartment = "24" }; #endregion IndexPage indexPage = new IndexPage(driver, url); LoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testData.Email, testData.Password); PaymentOptionsHomePage paymentsPage = indexPage.Header.ClickOnPaymentOptions(); PaymentOptionsCreatePage addNewPaymentPage = paymentsPage.ClickOnAddNewCreditCard(); addNewPaymentPage.FillCardTokenForm(cardtoken); addNewPaymentPage.SelectBillingAddressOption(BillingAddressOptionsEnum.AddNew); //Fill billing address form addNewPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, address.CompanyName); addNewPaymentPage.SetInputAddressValue(AddressInputs.Street, address.street); addNewPaymentPage.SetInputAddressValue(AddressInputs.Apartment, address.apartment); addNewPaymentPage.SetInputAddressValue(AddressInputs.City, address.city); addNewPaymentPage.SetInputAddressValue(AddressInputs.State, address.state); addNewPaymentPage.SetInputAddressValue(AddressInputs.Postal, address.postal); bool makeDefaultCheckboxExist = addNewPaymentPage.ElementOnPageIsPresent(AddPaymentElements.DefaultCheckbox); Assert.IsTrue(makeDefaultCheckboxExist, "Default checkbox does not exist"); addNewPaymentPage.ClickOnSubmit(); addNewPaymentPage.IsAppBusy(); paymentsPage = addNewPaymentPage.CloseModal(ModalsEnum.Information); Thread.Sleep(1000); List <string> items = paymentsPage.GetPaymentsDropdownItems(AccessLevel.User).ToList(); string payment = items.FirstOrDefault(it => it.Contains($"{cardtoken.LastFourDigits} {cardtoken.ExpirationMont}/{cardtoken.ExpirationYear}")); Assert.IsNotNull(payment, "Payment is not found"); }
public void AddPaymentOptionIntlAddress() { var testUser = TestDataFactory.CreateLoginAccount(); #region test data var testCardtoken = new PaymentOptionModel { CardNumber = "5582508629687473", ExpirationMont = "12", ExpirationYear = "24", HolderName = "Test corp", Cvv = "077", LastFourDigits = "7473" }; var testBillingAddress = new AddressModel { country = "MX", CompanyName = "SDET", state = "Estado de baja california", city = "Ensenada", street = "Calle 10", postal = "22790", apartment = "Suite 24" }; #endregion test data IndexPage indexPage = new IndexPage(driver, url); LoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testUser.Email, testUser.Password); PaymentOptionsHomePage paymentsHomePage = indexPage.Header.ClickOnPaymentOptions(); PaymentOptionsCreatePage addPaymentPage = paymentsHomePage.ClickOnAddNewCreditCard(); addPaymentPage.FillCardTokenForm(testCardtoken); addPaymentPage.SelectBillingAddressOption(BillingAddressOptionsEnum.AddNew); addPaymentPage.SetInputAddressValue(AddressInputs.Country, testBillingAddress.country); addPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, testBillingAddress.CompanyName); addPaymentPage.SetInputAddressValue(AddressInputs.Street, testBillingAddress.street); addPaymentPage.SetInputAddressValue(AddressInputs.Apartment, testBillingAddress.apartment); addPaymentPage.SetInputAddressValue(AddressInputs.City, testBillingAddress.city); addPaymentPage.SetInputAddressValue(AddressInputs.State, testBillingAddress.state); addPaymentPage.SetInputAddressValue(AddressInputs.Postal, testBillingAddress.postal); addPaymentPage.ClickOnSubmit(); addPaymentPage.IsAppBusy(); paymentsHomePage = addPaymentPage.CloseModal(ModalsEnum.Information); Thread.Sleep(500); List <string> items = paymentsHomePage.GetPaymentsDropdownItems(AccessLevel.User).ToList(); string expectedResult = $"{testCardtoken.LastFourDigits} {testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}"; string payment = items.FirstOrDefault(option => option.Contains(expectedResult)); Assert.IsNotNull(payment, "Payment is not found"); }
protected void SetCreditCard(APCheckoutPage checkoutPage) { PaymentOptionModel paymentOptionModel = new PaymentOptionModel(); paymentOptionModel.CardNumber = "4052617213218274"; paymentOptionModel.ExpirationMont = "05"; paymentOptionModel.ExpirationYear = "20"; paymentOptionModel.Cvv = "649"; paymentOptionModel.HolderName = "Holly Smith"; paymentOptionModel.LastFourDigits = "1293"; checkoutPage.SetBillingElement(BillingInputs.CardNumber, paymentOptionModel.CardNumber); checkoutPage.SetBillingElement(BillingInputs.CVV, paymentOptionModel.Cvv); checkoutPage.SetBillingElement(BillingInputs.ExpirationMonth, paymentOptionModel.ExpirationMont); checkoutPage.SetBillingElement(BillingInputs.ExpirationYear, paymentOptionModel.ExpirationYear); checkoutPage.SetBillingElement(BillingInputs.CardHolderName, paymentOptionModel.HolderName); }
private void SetCreditCard(CheckoutPage checkoutPage) { PaymentOptionModel paymentOptionModel = new PaymentOptionModel(); paymentOptionModel.CardNumber = "4582416985071741"; paymentOptionModel.ExpirationMont = "08"; paymentOptionModel.ExpirationYear = "2020"; paymentOptionModel.Cvv = "434"; paymentOptionModel.HolderName = "Morgan Baker"; paymentOptionModel.LastFourDigits = "1293"; checkoutPage.SetBillingElement(BillingInputs.CardNumber, paymentOptionModel.CardNumber); checkoutPage.SetBillingElement(BillingInputs.CVV, paymentOptionModel.Cvv); checkoutPage.SetBillingElement(BillingInputs.ExpirationMonth, paymentOptionModel.ExpirationMont); checkoutPage.SetBillingElement(BillingInputs.ExpirationYear, paymentOptionModel.ExpirationYear); checkoutPage.SetBillingElement(BillingInputs.CardHolderName, paymentOptionModel.HolderName); }
public ActionResult PaymentMethod() { var paymentOptions = this.checkoutService.GetPaymentOptions() ?? Enumerable.Empty <PaymentOption>(); var paymentOptinModel = new List <PaymentOptionModel>(); foreach (var sho in paymentOptions) { var option = new PaymentOptionModel() { OptionName = sho.Name, OptionType = sho.PaymentOptionType.Value, Selected = sho.PaymentOptionType.Value == 0 }; paymentOptinModel.Add(option); } return(View("PaymentMethod", paymentOptinModel)); }
protected virtual void AddPaymentOptions(Result <BillingModel> result, Cart cart) { var paymentOptions = this.PaymentManager.GetPaymentOptions(this.StorefrontContext.ShopName, cart); if (paymentOptions.ServiceProviderResult.Success && (paymentOptions.Result != null)) { result.Data.PaymentOptions = new List <PaymentOptionModel>(); foreach (var paymentOption in paymentOptions.Result) { var model = new PaymentOptionModel { Name = paymentOption.Name, Description = paymentOption.Description, PaymentOptionTypeName = paymentOption.PaymentOptionType.Name }; result.Data.PaymentOptions.Add(model); } } else { result.SetErrors(paymentOptions.ServiceProviderResult); } }
public void EditPaymentMakeDefault() { var testUser = TestDataFactory.CreateLoginAccount(); PaymentOptionModel testCardtoken = new PaymentOptionModel { LastFourDigits = "1111", Cvv = "077", ExpirationMont = "12", ExpirationYear = "26", HolderName = "pika", CardNumber = "4111111111111111" }; AddressModel testBillingAddress = new AddressModel { country = "MX", CompanyName = "SDET", state = "Estado de baja california", city = "Ensenada", street = "Calle 3", postal = "22790", apartment = "Suite 24" }; string selectPayment = $"{testCardtoken.LastFourDigits} {testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}"; IndexPage indexPage = new IndexPage(driver, url); LoginPage loginPage = indexPage.Header.ClickOnSignIn(); loginPage.Login(testUser.Email, testUser.Password); PaymentOptionsHomePage paymentsPage = indexPage.Header.ClickOnPaymentOptions(); PaymentOptionsCreatePage addPaymentPage = paymentsPage.ClickOnAddNewCreditCard(); addPaymentPage.FillCardTokenForm(testCardtoken); addPaymentPage.SelectBillingAddressOption(BillingAddressOptionsEnum.AddNew); addPaymentPage.SetInputAddressValue(AddressInputs.Country, testBillingAddress.country); addPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, testBillingAddress.CompanyName); addPaymentPage.SetInputAddressValue(AddressInputs.Street, testBillingAddress.street); addPaymentPage.SetInputAddressValue(AddressInputs.Apartment, testBillingAddress.apartment); addPaymentPage.SetInputAddressValue(AddressInputs.City, testBillingAddress.city); addPaymentPage.SetInputAddressValue(AddressInputs.State, testBillingAddress.state); addPaymentPage.SetInputAddressValue(AddressInputs.Postal, testBillingAddress.postal); addPaymentPage.ClickOnSubmit(); addPaymentPage.IsAppBusy(); paymentsPage = addPaymentPage.CloseModal(ModalsEnum.Information); //begin the test paymentsPage.ClickOnPaymentOption(AccessLevel.User, selectPayment); PaymentOptionsEditPage editPaymentsPage = paymentsPage.ContentModal.ClickOnEdit(); bool makeDefaultCheckboxExist = editPaymentsPage.ElementOnPageIsPresent(AddPaymentElements.DefaultCheckbox); Assert.IsTrue(makeDefaultCheckboxExist, "Default checkbox does not exist"); editPaymentsPage.ClickOnMakeDefault(); bool isSubmitEnabled = editPaymentsPage.IsSubmitButtonEnabled(); Assert.IsTrue(isSubmitEnabled, "The form cannot be submited"); editPaymentsPage.ClickOnSubmit(); editPaymentsPage.IsAppBusy(); paymentsPage = editPaymentsPage.CloseModal(ModalsEnum.Information); List <string> items = paymentsPage.GetPaymentsDropdownItems(AccessLevel.User).ToList(); string payment = items.FirstOrDefault(it => it.Contains( $"{testCardtoken.LastFourDigits} {testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}")); bool defaultLabelInDropdownItem = paymentsPage.IsDefaultLabelPresentOnDropdownItem(AccessLevel.User); string actualDefaultPaymentData = paymentsPage.GetDefaultTilePaymentData(AccessLevel.User); Assert.IsTrue(defaultLabelInDropdownItem, "Default label does not exist"); Assert.IsTrue(actualDefaultPaymentData.Contains(testCardtoken.LastFourDigits), "Card last four digits cannot be found"); Assert.IsTrue(actualDefaultPaymentData.Contains($"{testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}"), "Expiration date does not correspond"); Assert.IsNotNull(payment, "Payment is not found"); }
//Test Case on test rail -> C1134, C1135, C1179 //[TestMethod] //[TestCategory(TestCategoriesConstants.Regression)] //[TestCategory(TestCategoriesConstants.Smoke)] public void AddCreditCardUsingPrevStoredAddress() { var testData = TestDataFactory.CreateLoginAccount(); AddressModel testAddress = new AddressModel { country = "US", street = "street test", CompanyName = "address company name", state = "CO", city = "boulder", postal = "52809" }; PaymentOptionModel testCardtoken = new PaymentOptionModel { CardNumber = "4111111111111111", ExpirationMont = "12", ExpirationYear = "22", HolderName = "Test holder", Cvv = "077", LastFourDigits = "1111" }; IndexPage indexPage = new IndexPage(driver, url); LoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testData.Email, testData.Password); //Manually add an address AddressesHomePage addressesPage = indexPage.Header.ClickOnAddresses(); AddAddressPage createAddressPage = addressesPage.ClickOnAddNewAddress(); //Fill address form createAddressPage.SetInputValue(AddressInputs.CompanyName, testAddress.CompanyName); createAddressPage.SetInputValue(AddressInputs.Street, testAddress.street); createAddressPage.SetInputValue(AddressInputs.Apartment, testAddress.apartment); createAddressPage.SetInputValue(AddressInputs.City, testAddress.city); createAddressPage.SetInputValue(AddressInputs.State, testAddress.state); createAddressPage.SetInputValue(AddressInputs.Postal, testAddress.postal); addressesPage = createAddressPage.ClickOnSubmit(); addressesPage.IsAppBusy(); //TODO: check the logic on address create process addressesPage.IsAppBusy(); addressesPage.InformationModal.ClickOnClose(); //test begins here PaymentOptionsHomePage paymentsPage = addressesPage.Header.ClickOnPaymentOptions(); PaymentOptionsCreatePage addNewPaymentPage = paymentsPage.ClickOnAddNewCreditCard(); string storedAddress = string.IsNullOrEmpty(testAddress.apartment) ? $"{testAddress.street}, {testAddress.city} {testAddress.country} {testAddress.postal}" : $"{testAddress.street}, {testAddress.apartment}, {testAddress.city} {testAddress.country} {testAddress.postal}"; addNewPaymentPage.FillCardTokenForm(testCardtoken); addNewPaymentPage.SelectBillingAddressOption(BillingAddressOptionsEnum.Stored); addNewPaymentPage.SelectPreviouslyStoreAddress(storedAddress); addNewPaymentPage.ClickOnSubmit(); addNewPaymentPage.IsAppBusy(); paymentsPage = addNewPaymentPage.CloseModal(ModalsEnum.Information); addNewPaymentPage.IsAppBusy(); Thread.Sleep(500); List <string> items = paymentsPage.GetPaymentsDropdownItems(AccessLevel.User).ToList(); string payment = items.FirstOrDefault(it => it.Contains($"{testCardtoken.LastFourDigits} {testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}")); Assert.IsNotNull(payment, "Payment option is not found"); }
public void DeleteUserLevelPayment() { #region testData var testUser = TestDataFactory.CreateLoginAccount(); PaymentOptionModel testCardtoken = new PaymentOptionModel { CardNumber = "5582508629687473", ExpirationMont = "12", ExpirationYear = "24", HolderName = "Test corp", Cvv = "077", LastFourDigits = "7473" }; AddressModel testAddress = new AddressModel { country = "US", CompanyName = "QA Softtek Automation", state = "CO", city = "Denver", street = "Elm street", postal = "22780", apartment = "24" }; #endregion testData IndexPage indexPage = new IndexPage(driver, url); LoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testUser.Email, testUser.Password); Assert.IsNotNull(indexPage, "Login failed"); PaymentOptionsHomePage paymentsPage = indexPage.Header.ClickOnPaymentOptions(); PaymentOptionsCreatePage addNewPaymentPage = paymentsPage.ClickOnAddNewCreditCard(); addNewPaymentPage.FillCardTokenForm(testCardtoken); addNewPaymentPage.ClickOnBillingAddressOption(BillingAddressOptions.NewOne); //Fill billing address form addNewPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, testAddress.CompanyName); addNewPaymentPage.SetInputAddressValue(AddressInputs.Street, testAddress.street); addNewPaymentPage.SetInputAddressValue(AddressInputs.Apartment, testAddress.apartment); addNewPaymentPage.SetInputAddressValue(AddressInputs.City, testAddress.city); addNewPaymentPage.SetInputAddressValue(AddressInputs.State, testAddress.state); addNewPaymentPage.SetInputAddressValue(AddressInputs.Postal, testAddress.postal); bool makeDefaultCheckboxExist = addNewPaymentPage.ElementOnPageIsPresent(AddPaymentElements.DefaultCheckbox); Assert.IsTrue(makeDefaultCheckboxExist, "Default checkbox does not exist"); addNewPaymentPage.ClickOnSubmit(); addNewPaymentPage.IsAppBusy(); paymentsPage = addNewPaymentPage.CloseModal(ModalsEnum.Information); Thread.Sleep(1000); //start deleting the payment int paymentsCountBefore = paymentsPage.GetPaymentsDropdownItems(AccessLevel.User).ToList().Count; paymentsPage.ClickOnPaymentOption( AccessLevel.User, $"{testCardtoken.LastFourDigits} {testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}"); Thread.Sleep(2000); paymentsPage.ContentModal.ClickOnDelete(); Thread.Sleep(1000); paymentsPage.ConfirmationModal.ClickOnDelete(); paymentsPage.IsAppBusy(); int paymentsCountAfter = paymentsPage.GetPaymentsDropdownItems(AccessLevel.User).ToList().Count; Assert.IsTrue(paymentsCountAfter == (paymentsCountBefore - 1), "Payment has not deleted"); }
public void OnlyContactInformationadded() { var indexPage = new APIndexPage(Driver, Url); var testData = new { //Make sure to change name of email user = dataFactory.CreateLoginAccount(), }; APLoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testData.user.Email, testData.user.Password); indexPage.Header.SelectManufacturer(manufacturerOption); indexPage.Header.SetSearchFieldText(searchField); 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 E2ETestwithContactInfoandAddressUser() { var indexPage = new IndexPage(driver, url); var testData = new { //Make sure to change name of email user = dataFactory.CreateLoginAccount(), country = (string)testContext.DataRow["Country"], countryShort = (string)testContext.DataRow["CountryShort"], address = (string)testContext.DataRow["StreetAddress"], state = (string)testContext.DataRow["State"], city = (string)testContext.DataRow["City"], zipCode = testContext.DataRow["ZipCode"].ToString(), apt = testContext.DataRow["Apt"].ToString(), firstname = (string)testContext.DataRow["FirstName"], lastname = (string)testContext.DataRow["LastName"], company = (string)testContext.DataRow["Company"], phonenumber = testContext.DataRow["PhoneNumber"].ToString(), attn = testContext.DataRow["ATTN"].ToString(), }; LoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testData.user.Email, testData.user.Password); var manufacturesItems = indexPage.Header.GetManufacturerOptions(); manufacturerOption = manufacturesItems.ElementAtOrDefault(2).webElement.Text; indexPage.Header.SelectManufacturer(manufacturerOption); CatalogItemsPage catalogItemPage = indexPage.Header.ClickOnSearchButton(); catalogItemPage.AddtoCartbuttonInCatalog(); Thread.Sleep(5000); CartPage CartMainPage = catalogItemPage.Header.ClickOnViewCart(); //Waiting For Loading Cart Thread.Sleep(7000); //Click no Proceed to checkout button CheckoutPage 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 AddAddressChecktoutoMyAccount() { var indexPage = new IndexPage(driver, url); var testData = new { user = dataFactory.CreateLoginAccount(), country = (string)testContext.DataRow["Country"], countryShort = (string)testContext.DataRow["CountryShort"], address = (string)testContext.DataRow["StreetAddress"], state = (string)testContext.DataRow["State"], city = (string)testContext.DataRow["City"], zipCode = testContext.DataRow["ZipCode"].ToString(), apt = testContext.DataRow["Apt"].ToString(), firstname = (string)testContext.DataRow["FirstName"], lastname = (string)testContext.DataRow["LastName"], company = (string)testContext.DataRow["Company"], phonenumber = testContext.DataRow["PhoneNumber"].ToString(), attn = testContext.DataRow["ATTN"].ToString(), }; LoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testData.user.Email, testData.user.Password); var manufacturesItems = indexPage.Header.GetManufacturerOptions(); manufacturerOption = manufacturesItems.ElementAtOrDefault(2).webElement.Text; indexPage.Header.SelectManufacturer(manufacturerOption); CatalogItemsPage catalogItemPage = indexPage.Header.ClickOnSearchButton(); catalogItemPage.AddtoCartbuttonInCatalog(); Thread.Sleep(5000); CartPage CartMainPage = catalogItemPage.Header.ClickOnViewCart(); //Waiting For Loading Cart Thread.Sleep(7000); //Click no Proceed to checkout button CheckoutPage 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"); //CheckoutPage 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"); }
public void ValidateAllElementsInConfirmationPage() { IndexPage indexPage = new IndexPage(driver, url); var user = dataFactory.CreateLoginAccount(); LoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(user.Email, user.Password); var manufacturesItems = indexPage.Header.GetManufacturerOptions(); manufacturerOption = manufacturesItems.ElementAtOrDefault(2).webElement.Text; indexPage.Header.SelectManufacturer(manufacturerOption); CatalogItemsPage catalogItemPage = indexPage.Header.ClickOnSearchButton(); catalogItemPage.AddtoCartbuttonInCatalog(); Thread.Sleep(5000); CartPage CartMainPage = catalogItemPage.Header.ClickOnViewCart(); //Waiting For Loading Cart Thread.Sleep(7000); //Click no Proceed to checkout button CheckoutPage 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 = "4596502148863902", ExpirationMont = "03", ExpirationYear = "20", HolderName = "Dixie Green", Cvv = "775" }; 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"); Assert.IsTrue(orderpage.SuccessMsgIsPresent(), "Success Alert Message is not Displayed"); Assert.IsTrue(orderpage.CustomerInfoIsDisplayed(), "Customer Information is not displayed"); Assert.IsTrue(orderpage.ShippingInfoIsDisplayed(), "Shipping Information is not displayed"); Assert.IsTrue(orderpage.BillingInfoIsDisplayed(), "Billing Information is not displayed"); Assert.IsTrue(orderpage.listOfItemsDisplayed(), "List Item View is not Displaying Items"); }
public void ReviewPlaceOrderAUTH_T6208() { var indexPage = new APIndexPage(Driver, Url); APLoginPage loginPage = indexPage.Header.ClickOnSignIn(); //TODO //implement data factory here indexPage = loginPage.Login("", ""); var manufacturesItems = indexPage.Header.GetManufacturerOptions(); manufacturerOption = manufacturesItems.ElementAtOrDefault(2).webElement.Text; 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(5000); //Click on Proceed to checkout button APCheckoutPage checkoutPage = CartMainPage.ProceedToCheckOut(); Thread.Sleep(5000); checkoutPage.SelectAddressRadioButton(AddressSelectOptions.Existing); 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); checkoutPage.BillingSubmitClick(); Thread.Sleep(5000); Assert.IsTrue(checkoutPage.PlaceOrderButtonIsEnable(), "Place Your Order button is not available"); checkoutPage.PlaceOrderSubmitClick(); }
public void E2E05() { APIndexPage indexPage = new APIndexPage(Driver, Url); // log in APLoginPage loginPage = indexPage.Header.ClickOnSignIn(); loginPage.Login("*****@*****.**", "test1234"); DashboardHomePage accountDashboard = indexPage.Header.ClickOnDashboard(); Assert.IsTrue(accountDashboard.ContactInfoExist()); ContactInfoEditPage contactInfoEdit = accountDashboard.ContactInfoEdit(); Assert.AreEqual("Edit contact information", contactInfoEdit.GetSectionTitle()); contactInfoEdit.ClickOnCancel(); Assert.IsTrue(accountDashboard.AddressesExist()); AddressesHomePage addressPage = accountDashboard.ClickAddressesLink(); AddressModel addressModel = new AddressModel { street = "134 Manton Street", apartment = "134", state = "Pennsylvania", city = "Philadelphia", postal = "19147", country = "US", region = "PA", CompanyName = "Test company" }; addressPage.ClickOnAddressInDropdownStateInitials(AccessLevel.User, addressModel); addressPage.WaitForAppBusy(); addressPage.ContentModal.ClickOnCancel(); addressPage.WaitForAppBusy(); /**/ AddAddressPage addAddressPage = addressPage.ClickOnAddNewAddress(); AddressModel newAddressModel = new AddressModel { street = "134 Testing Street", apartment = "134", state = "Colorado", city = "Aspen", postal = "12345", country = "US", region = "CO", CompanyName = "Test company" }; addAddressPage.SetInputValue(PageObjects.MyAccountPOM.AddressesPOM.AddressInputs.Country, newAddressModel.country); addAddressPage.SetInputValue(PageObjects.MyAccountPOM.AddressesPOM.AddressInputs.CompanyName, newAddressModel.CompanyName); addAddressPage.SetInputValue(PageObjects.MyAccountPOM.AddressesPOM.AddressInputs.Street, newAddressModel.street); addAddressPage.SetInputValue(PageObjects.MyAccountPOM.AddressesPOM.AddressInputs.Apartment, newAddressModel.apartment); addAddressPage.SetInputValue(PageObjects.MyAccountPOM.AddressesPOM.AddressInputs.City, newAddressModel.city); addAddressPage.SetInputValue(PageObjects.MyAccountPOM.AddressesPOM.AddressInputs.State, newAddressModel.state); addAddressPage.SetInputValue(PageObjects.MyAccountPOM.AddressesPOM.AddressInputs.Postal, newAddressModel.postal); addressPage = addAddressPage.ClickOnSubmit(); addAddressPage.InformationModal.ClickOnClose(); addressPage.WaitForAppBusy(); addressPage.ClickOnAddressInDropdownStateInitials(AccessLevel.User, addressModel); addressPage.WaitForAppBusy(); addressPage.ContentModal.ClickOnMakeDefault(); addressPage.WaitForAppBusy(); //TEMPORARY SOLUTION FOR LOADING ANIMATIONS AND LOADING TIMES System.Threading.Thread.Sleep(3000); addressPage.InformationModal.ClickOnClose(); /* */ accountDashboard = addressPage.Header.ClickOnDashboard(); accountDashboard.WaitForAppBusy(); Assert.IsTrue(accountDashboard.PaymentOptionsExist()); PaymentOptionsEditPage paymentEditPage = accountDashboard.ClickEditPaymentLink(); paymentEditPage.ClickOnCancel(); PaymentOptionsHomePage paymentPage = accountDashboard.ClickPaymentsLink(); Assert.IsTrue(paymentPage.PaymentOptionsTitleExist()); IEnumerable <String> paymentItems = paymentPage.GetPaymentsDropdownItems(AccessLevel.Account); paymentPage.ClickOnPaymentOption(AccessLevel.Account, paymentItems.First()); paymentPage.WaitForAppBusy(); paymentPage.ContentModal.ClickOnMakeDefault(); paymentPage.WaitForAppBusy(); paymentPage.InfoModal.ClickOnClose(); paymentItems = paymentPage.GetPaymentsDropdownItems(AccessLevel.User); paymentPage.ClickOnPaymentOption(AccessLevel.User, paymentItems.First()); paymentPage.WaitForAppBusy(); paymentPage.ContentModal.ClickOnMakeDefault(); paymentPage.WaitForAppBusy(); // TEMPORARY SOLUTION SO IFRAME LOADS AND DOM ELEMENT WAIT DOESN'T CRASH/FAIL THE TEST // *** FUTURE SOLUTION TO DO System.Threading.Thread.Sleep(4000); paymentPage.InfoModal.ClickOnClose(); paymentPage.WaitForAppBusy(); PaymentOptionsCreatePage paymentCreatePage = paymentPage.ClickOnAddNewCreditCard(); // TEMPORARY SOLUTION SO IFRAME LOADS AND DOM ELEMENT WAIT DOESN'T CRASH/FAIL THE TEST // *** FUTURE SOLUTION TO DO System.Threading.Thread.Sleep(5000); PaymentOptionModel paymentOptionModel = new PaymentOptionModel { CardNumber = "4111111111111111", ExpirationMont = "12", ExpirationYear = "2022", Cvv = "077", HolderName = "Test Test", LastFourDigits = "1293" }; paymentCreatePage.WaitForAppBusy(); paymentCreatePage.FillCardTokenForm(paymentOptionModel); paymentCreatePage.ClickOnMakeDefault(); paymentCreatePage.SelectPreviouslyStoreAddress("Test company"); paymentCreatePage.ClickOnSubmit(); System.Threading.Thread.Sleep(3000); // assert if click on submit is valid ( assert/bool that all fields are valid) // if assert for click on submit is valid then assert modal if creditcard was a succesfully added paymentPage = paymentCreatePage.CloseModal(ModalsEnum.Information); // TEMPORARY SOLUTION System.Threading.Thread.Sleep(3000); // step to change to a US adress and change state to colorado // this before searching for item // indexPage.Header.SetSearchFieldText("KE50750-4"); CatalogItemsPage catalogItemsPage = indexPage.Header.ClickOnSearchButton(); catalogItemsPage.AddToCartFirstItemInCatalog(); APCartPage cartPage = indexPage.Header.ClickOnViewCart(); // TEMPORARY SOLUTION System.Threading.Thread.Sleep(6000); }
public void EditInternationalAddress() { var testUser = TestDataFactory.CreateLoginAccount(); AddressModel testBillingAddress = new AddressModel { country = "MX", CompanyName = "SDET", state = "CO", city = "test city", street = "elm street", postal = "22770", apartment = "Suite s4" }; PaymentOptionModel testCardtoken = new PaymentOptionModel { LastFourDigits = "1111", Cvv = "077", ExpirationMont = "12", ExpirationYear = "26", HolderName = "pika", CardNumber = "4111111111111111" }; AddressModel expectedBillingAddress = new AddressModel { country = "MX", CompanyName = "SDET", state = "Estado de baja california", city = "Ensenada", street = "Calle 3", postal = "22790", apartment = "Suite 24" }; string currentPaymentData = $"{testCardtoken.LastFourDigits} {testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}"; AddressModel actualBillingAddressValues = new AddressModel(); IndexPage indexPage = new IndexPage(driver, url); LoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testUser.Email, testUser.Password); PaymentOptionsHomePage paymentsHomePage = indexPage.Header.ClickOnPaymentOptions(); //Add a new credit card PaymentOptionsCreatePage addPaymentPage = paymentsHomePage.ClickOnAddNewCreditCard(); addPaymentPage.FillCardTokenForm(testCardtoken); addPaymentPage.SelectBillingAddressOption(BillingAddressOptionsEnum.AddNew); addPaymentPage.SetInputAddressValue(AddressInputs.Country, testBillingAddress.country); addPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, testBillingAddress.CompanyName); addPaymentPage.SetInputAddressValue(AddressInputs.Street, testBillingAddress.street); addPaymentPage.SetInputAddressValue(AddressInputs.Apartment, testBillingAddress.apartment); addPaymentPage.SetInputAddressValue(AddressInputs.City, testBillingAddress.city); addPaymentPage.SetInputAddressValue(AddressInputs.State, testBillingAddress.state); addPaymentPage.SetInputAddressValue(AddressInputs.Postal, testBillingAddress.postal); addPaymentPage.ClickOnSubmit(); addPaymentPage.IsAppBusy(); paymentsHomePage = addPaymentPage.CloseModal(ModalsEnum.Information); Thread.Sleep(1000); //Begin testing here paymentsHomePage.ClickOnPaymentOption(AccessLevel.User, currentPaymentData); PaymentOptionsEditPage editPaymentPage = paymentsHomePage.ContentModal.ClickOnEdit(); editPaymentPage.IsAppBusy(); editPaymentPage.ClickOnBillingAddressOption(BillingAddressOptions.NewOne); editPaymentPage.SetInputAddressValue(AddressInputs.Country, expectedBillingAddress.country); editPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, expectedBillingAddress.CompanyName); editPaymentPage.SetInputAddressValue(AddressInputs.Street, expectedBillingAddress.street); editPaymentPage.SetInputAddressValue(AddressInputs.Apartment, expectedBillingAddress.apartment); editPaymentPage.SetInputAddressValue(AddressInputs.City, expectedBillingAddress.city); editPaymentPage.SetInputAddressValue(AddressInputs.State, expectedBillingAddress.state); editPaymentPage.SetInputAddressValue(AddressInputs.Postal, expectedBillingAddress.postal); editPaymentPage.ClickOnSubmit(); editPaymentPage.IsAppBusy(); paymentsHomePage = editPaymentPage.CloseModal(ModalsEnum.Information); Thread.Sleep(1000); //make sure the update has done paymentsHomePage.ClickOnPaymentOption(AccessLevel.User, currentPaymentData); editPaymentPage = paymentsHomePage.ContentModal.ClickOnEdit(); editPaymentPage.IsAppBusy(); actualBillingAddressValues.country = editPaymentPage.GetBillingAddressInputValue(AddressInputs.Country); actualBillingAddressValues.CompanyName = editPaymentPage.GetBillingAddressInputValue(AddressInputs.CompanyName); actualBillingAddressValues.street = editPaymentPage.GetBillingAddressInputValue(AddressInputs.Street); actualBillingAddressValues.apartment = editPaymentPage.GetBillingAddressInputValue(AddressInputs.Apartment); actualBillingAddressValues.city = editPaymentPage.GetBillingAddressInputValue(AddressInputs.City); actualBillingAddressValues.postal = editPaymentPage.GetBillingAddressInputValue(AddressInputs.Postal); actualBillingAddressValues.state = editPaymentPage.GetBillingAddressInputValue(AddressInputs.State); paymentsHomePage = editPaymentPage.ClickOnCancel(); Assert.IsTrue(expectedBillingAddress.CompanyName == actualBillingAddressValues.CompanyName, $"Expected: '{expectedBillingAddress.CompanyName}' Got: '{actualBillingAddressValues.CompanyName}'"); Assert.IsTrue(actualBillingAddressValues.country.Contains(expectedBillingAddress.country), $"Expected: '{expectedBillingAddress.country}' Got: '{actualBillingAddressValues.country}'"); Assert.IsTrue(expectedBillingAddress.street == actualBillingAddressValues.street, $"Expected: '{expectedBillingAddress.street}' Got: '{actualBillingAddressValues.street}'"); Assert.IsTrue(expectedBillingAddress.apartment == actualBillingAddressValues.apartment, $"Expected: '{expectedBillingAddress.apartment}' Got: '{actualBillingAddressValues.apartment}'"); Assert.IsTrue(expectedBillingAddress.city == actualBillingAddressValues.city, $"Expected: '{expectedBillingAddress.city}' Got: '{actualBillingAddressValues.city}'"); Assert.IsTrue(expectedBillingAddress.postal == actualBillingAddressValues.postal, $"Expected: '{expectedBillingAddress.postal}' Got: '{actualBillingAddressValues.postal}'"); Assert.IsTrue(expectedBillingAddress.state == actualBillingAddressValues.state, $"Expected: '{expectedBillingAddress.state}' Got: '{actualBillingAddressValues.state}'"); }
public void OnlyPaymentMethodAdded() { var indexPage = new APIndexPage(Driver, Url); var testData = new { //Make sure to change name of email user = dataFactory.CreateLoginAccount(), }; APLoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testData.user.Email, testData.user.Password); indexPage.Header.SelectManufacturer(manufacturerOption); indexPage.Header.SetSearchFieldText(searchField); CatalogItemsPage catalogItemPage = indexPage.Header.ClickOnSearchButton(); Thread.Sleep(2000); 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.SetAddressElement(AddressInputs.ATTN, "CompanyOrName"); checkoutPage.SetAddressElement(AddressInputs.StreetAddress, "123 Massachusetts Avenue"); checkoutPage.SetAddressElement(AddressInputs.Apt, "12345"); checkoutPage.SetAddressElement(AddressInputs.City, "Cambridge"); checkoutPage.SetAddressElement(AddressInputs.State, "MA"); checkoutPage.SetAddressElement(AddressInputs.Postal, "02138"); checkoutPage.ClickShippingButton(); //Thread.Sleep(2000); Thread.Sleep(5000); checkoutPage.SelectBillingRadioButton(BillingSelectOptions.New); 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(2000); Assert.IsTrue(checkoutPage.BillingButtonIsEnable(), "Proceed to Review and Place Your Order button is not available"); checkoutPage.BillingSubmitClick(); Thread.Sleep(3000); 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 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 OrderConfirmationAUTH_() { var indexPage = new IndexPage(driver, url); var testData = new { user = dataFactory.CreateLoginAccount(), }; LoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testData.user.Email, testData.user.Password); var manufacturesItems = indexPage.Header.GetManufacturerOptions(); manufacturerOption = manufacturesItems.ElementAtOrDefault(2).webElement.Text; indexPage.Header.SelectManufacturer(manufacturerOption); CatalogItemsPage catalogItemPage = indexPage.Header.ClickOnSearchButton(); catalogItemPage.AddtoCartbuttonInCatalog(); Thread.Sleep(5000); CartPage CartMainPage = catalogItemPage.Header.ClickOnViewCart(); //Waiting For Loading Cart Thread.Sleep(5000); //Click on Proceed to checkout button CheckoutPage checkoutPage = CartMainPage.ProceedToCheckOut(); Thread.Sleep(5000); checkoutPage.SelectAddressRadioButton(AddressSelectOptions.Existing); 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); Assert.IsTrue(checkoutPage.BillingButtonIsEnable(), "Proceed to Review and Place Your Order button is not available"); checkoutPage.BillingSubmitClick(); Thread.Sleep(2000); Assert.IsTrue(checkoutPage.PlaceOrderButtonIsEnable(), "Place Your Order button is not available"); Thread.Sleep(2000); checkoutPage.PlaceOrderSubmitClick(); Thread.Sleep(2000); Assert.IsTrue(checkoutPage.OrderConfirmationText(), "Order Confirmation text is not available"); Thread.Sleep(2000); Assert.IsTrue(checkoutPage.SuccessText(), "Success text is not available"); }
public void SetUserLevelPaymentAsDefault() { var testUser = TestDataFactory.CreateLoginAccount(); PaymentOptionModel testCardtoken = new PaymentOptionModel { CardNumber = "5582508629687473", ExpirationMont = "12", ExpirationYear = "24", HolderName = "Test corp", Cvv = "077", LastFourDigits = "7473" }; AddressModel testAddress = new AddressModel { country = "US", CompanyName = "QA Softtek Automation", state = "CO", city = "Denver", street = "Elm street", postal = "22780", apartment = "24" }; //needs to be formated like that string stringTestPayment = $"{testCardtoken.LastFourDigits} {testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}" + $@" {testCardtoken.HolderName}"; IndexPage indexPage = new IndexPage(driver, url); LoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testUser.Email, testUser.Password); PaymentOptionsHomePage viewPaymentsPage = indexPage.Header.ClickOnPaymentOptions(); //add payment process PaymentOptionsCreatePage addNewPaymentPage = viewPaymentsPage.ClickOnAddNewCreditCard(); addNewPaymentPage.FillCardTokenForm(testCardtoken); addNewPaymentPage.SelectBillingAddressOption(BillingAddressOptionsEnum.AddNew); addNewPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, testAddress.CompanyName); addNewPaymentPage.SetInputAddressValue(AddressInputs.Street, testAddress.street); addNewPaymentPage.SetInputAddressValue(AddressInputs.Apartment, testAddress.apartment); addNewPaymentPage.SetInputAddressValue(AddressInputs.City, testAddress.city); addNewPaymentPage.SetInputAddressValue(AddressInputs.State, testAddress.state); addNewPaymentPage.SetInputAddressValue(AddressInputs.Postal, testAddress.postal); addNewPaymentPage.ClickOnSubmit(); addNewPaymentPage.IsAppBusy(); viewPaymentsPage = addNewPaymentPage.CloseModal(ModalsEnum.Information); Thread.Sleep(1000); //validations begins here viewPaymentsPage.ClickOnPaymentOption(AccessLevel.User, stringTestPayment); viewPaymentsPage.ContentModal.ClickOnMakeDefault(); viewPaymentsPage.IsAppBusy(); viewPaymentsPage.InfoModal.ClickOnClose(); bool defaultLabelInDropdownItem = viewPaymentsPage.IsDefaultLabelPresentOnDropdownItem(AccessLevel.User); List <string> paymentsInDropdown = viewPaymentsPage.GetPaymentsDropdownItems(AccessLevel.User).ToList(); string firstPayment = paymentsInDropdown.ElementAt(0); string actualDefaultPaymentData = viewPaymentsPage.GetDefaultTilePaymentData(AccessLevel.User); Assert.IsTrue(defaultLabelInDropdownItem, "default fayment has not a label"); //sort order check Assert.IsTrue(firstPayment.Contains(stringTestPayment), "first payment is not the default one"); Assert.IsTrue(actualDefaultPaymentData.Contains(testCardtoken.LastFourDigits)); Assert.IsTrue(actualDefaultPaymentData.Contains($"{testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}")); bool accountTileIsPresent = viewPaymentsPage.ElementExistOnPage(AccessLevel.Account, ViewPaymentsElements.DefaultTile); Assert.IsFalse(accountTileIsPresent, "Account default tile should not exist here o:"); }