public void MyAccountPageTest() { var homePage = new HomePageContactUsPageUnitTests(driver); var signInPage = new HomePageSignInPO(driver); homePage.VerifyHomePageLoadTest(); signInPage.SignInLink.Click(); wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); wait.Until(e => signInPage.SignInPageContainer.Displayed); Assert.IsNotNull(signInPage.SignInPageContainer, $"{nameof(signInPage.SignInPageContainer)} returned as null"); }
/// <summary> /// Method for Sign in page Your Address form /// </summary> public void SignInPageYourAddressForm() { wait.Until(e => signInPage.YourAddressSubHeading != null && signInPage.YourAddressSubHeading.Displayed); List <IWebElement> addressInfoList = new List <IWebElement>() { signInPage.YourAddressSubHeading, signInPage.FirstNameLabel, signInPage.LastNameLabel, signInPage.CompanyLabel, signInPage.AddressOneLabel, signInPage.AddressTwoLabel, signInPage.CityLabel, signInPage.CountryLabel, signInPage.InlineInfos, signInPage.HomePhoneLabel, signInPage.MobilePhoneLabel, signInPage.AddressAliasLabel }; IsEachElementDisplayed(addressInfoList); signInPage = new HomePageSignInPO(driver); signInPage.FirstNameInputBox.SendKeys(firstname); signInPage.LastNameInputBox.SendKeys(lastName); signInPage.CompanyInputBox.SendKeys("Samsung"); signInPage.AddressOneInputBox.SendKeys("100 BlueStar Street"); signInPage.AddressTwoInputBox.SendKeys("Second Floor"); signInPage.CityInputBox.SendKeys("St.Louis"); List <string> stateOption = new List <string>(); wait.Until(e => signInPage.StateOptions.Where(e1 => e1 != null).Where(e1 => e1.Displayed)); foreach (var state in signInPage.StateOptions) { stateOption.Add(state.Text); } var randomdaysOption = random.Next(1, stateOption.Count - 1); signInPage.SelectState.Click(); signInPage.SelectState.SendKeys(stateOption[randomdaysOption]); signInPage.PostcodeInpuBox.SendKeys("66999"); signInPage.SelectCountry.Click(); signInPage.CountryOptionSelected.Click(); signInPage.HomePhoneInputBox.SendKeys("1234566789"); signInPage.MobilePhoneInputBox.SendKeys("987654321"); signInPage.AddressAliasInputBox.SendKeys(""); signInPage.RegisterButton.Click(); }
public void AlreadyRegisteredSectionTest() { var homePage = new HomePageContactUsPageUnitTests(driver); var signInPage = new HomePageSignInPO(driver); homePage.VerifyHomePageLoadTest(); signInPage.SignInLink.Click(); wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); wait.Until(e => signInPage.SignInPageContainer.Displayed); Assert.IsNotNull(signInPage.SignInPageContainer, $"{nameof(signInPage.SignInPageContainer)} returned as null"); if (signInPage.AlreadyRegisteredSubHeading != null && signInPage.AlreadyRegisteredSubHeading.Displayed) { Assert.IsTrue(signInPage.AlreadyRegisteredSubHeading.Text.Equals("ALREADY REGISTERED?"), $"Subheading 'ALREADY REGISTERED?' was not displayed, instead {signInPage.AlreadyRegisteredSubHeading.Text} displayed."); } bool v = false; Func <IWebElement, IWebElement, bool> isLableDisplayed = (e, e1) => { v = (e != null && e.Displayed) && (e1 != null && e1.Displayed); return(v); }; isLableDisplayed(signInPage.RegisteredEmailAddressLabel, signInPage.RegisteredPasswordLabel); signInPage.RegisteredEmailAddressInput.SendKeys("*****@*****.**"); signInPage.RegisteredPasswordInput.SendKeys("12345"); signInPage.SignInButton.Click(); wait.Until(e => signInPage.MyAccountHeading != null && signInPage.MyAccountHeading.Displayed); Assert.IsTrue(signInPage.InfoAccount.Text.Equals("Welcome to your account. Here you can manage all of your personal information and orders."), $"{signInPage.InfoAccount.Text} was not displayed."); List <IWebElement> LinkList = new List <IWebElement>() { signInPage.OrdersLink, signInPage.MyAddressesLink, signInPage.MyCreditSlipsLink, signInPage.MyPersonalInfoLink, signInPage.MyWishListsLink }; IsEachElementDisplayed(LinkList); }
/// <summary> /// Method for a create an account form /// </summary> public void SignInPageCreateAnAccountForm() { signInPage = new HomePageSignInPO(driver); signInPage.SignInLink.Click(); wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); wait.Until(e => signInPage.SignInPageContainer.Displayed); Assert.IsNotNull(signInPage.SignInPageContainer, $"{nameof(signInPage.SignInPageContainer)} returned as null"); List <IWebElement> validateSignInPage = new List <IWebElement>() { signInPage.SignInPageHeading, signInPage.HomeIcon, signInPage.NavigationPage, signInPage.CreateAccountForm, signInPage.CreateAccountButton, signInPage.CreateAccountSubHeading, signInPage.FormContant, signInPage.EmailAddressLabel, signInPage.EmailInputBox }; IsEachElementDisplayed(validateSignInPage); string invalidEmail = "*****@*****.**"; signInPage.EmailInputBox.SendKeys(invalidEmail); signInPage.CreateAccountButton.Click(); wait.Until(e => signInPage.CreateAccountErrorAlert.Displayed); string alertMessage = "An account using this email address has already been registered. Please enter a valid password or request a new one."; Assert.IsTrue(signInPage.CreateAccountErrorAlert.Text.Contains(alertMessage), $"Expected to return the message:{alertMessage} but returned {signInPage.CreateAccountErrorAlert.Text}"); string validEmail = "*****@*****.**"; signInPage.EmailInputBox.Clear(); signInPage.EmailInputBox.SendKeys(validEmail); signInPage.CreateAccountButton.Click(); Thread.Sleep(5000); }
/// <summary> /// Method for Sign in page Your Personal Information form /// </summary> public void SignInPageYourPersonalInfoForm() { signInPage = new HomePageSignInPO(driver); Func <IWebElement, bool> accountFormDisplayed = e => e != null && e.Displayed; accountFormDisplayed(signInPage.AccountCreationForm); Assert.IsTrue(signInPage.AccountCreationForm.Displayed, $"{nameof(signInPage.AccountCreationForm)} was not displayed."); Assert.IsNotNull(signInPage.AccountCreationForm, $"{nameof(signInPage.AccountCreationForm)} returned as Null!"); List <IWebElement> createAccountFormElements = new List <IWebElement>() { signInPage.TitleLabel, signInPage.MrLabel, signInPage.MrsLabel, signInPage.FirstnameLabel, signInPage.LastnameLabel, signInPage.EmailLabel, signInPage.PasswordLabel, signInPage.DateOfBirthLabel }; IsEachElementDisplayed(createAccountFormElements); signInPage.GenderRadioButtons.Where(e => e != null).FirstOrDefault().Click(); signInPage.FirstnameInput.SendKeys(firstname); signInPage.LastnameInput.SendKeys(lastName); string validPassword = "******"; string invalidPassword = "******"; signInPage.PasswordInput.SendKeys(invalidPassword); Assert.IsTrue(signInPage.PasswordFormInfo.Text.Equals("(Five characters minimum)"), $"{nameof(signInPage.PasswordFormInfo)} was not displayed."); signInPage.PasswordInput.Clear(); signInPage.PasswordInput.SendKeys(validPassword); signInPage.DaysSelector.Click(); List <string> daysOption = new List <string>(); wait.Until(e => signInPage.DaysOptions.Where(e1 => e1 != null).Where(e1 => e1.Displayed)); foreach (var day in signInPage.DaysOptions) { daysOption.Add(day.Text); } var randomdaysOption = random.Next(1, daysOption.Count - 1); signInPage.DaysSelector.SendKeys(daysOption[randomdaysOption]); List <string> monthOptions = new List <string>(); wait.Until(e => signInPage.MonthsOptions.Where(e1 => e1 != null).Where(e1 => e1.Displayed)); foreach (var month in signInPage.MonthsOptions) { monthOptions.Add(month.Text); } var randomMonthOption = random.Next(1, monthOptions.Count); string selectOption = monthOptions[randomMonthOption]; signInPage.MonthsSelector.Click(); signInPage.MonthsSelector.SendKeys(selectOption); List <string> optionYear = new List <string>(); wait.Until(e => signInPage.YearOptions.Where(e1 => e1 != null).Where(e1 => e1.Displayed)); foreach (var option in signInPage.YearOptions) { optionYear.Add(option.Text); } var randomYears = random.Next(1, optionYear.Count - 30); signInPage.YearsSelector.Click(); signInPage.YearsSelector.SendKeys(optionYear[randomYears]); Assert.IsTrue(signInPage.NewsLetterLabel.Text.Equals("Sign up for our newsletter!"), $"{nameof(signInPage.NewsLetterLabel)}failed to return 'Sign up for our newsletter!', instead " + $"returned {signInPage.NewsLetterLabel}"); signInPage.NewsLetterCheckbox.Click(); signInPage.NewsLetterCheckbox.Click(); Assert.IsTrue(signInPage.SpecialOfferLabel.Text.Equals("Receive special offers from our partners!"), $"{nameof(signInPage.SpecialOfferLabel)}failed to return 'Receive special offers from our partners!', instead " + $"returned {signInPage.SpecialOfferLabel}"); signInPage.SpecialOfferCheckbox.Click(); signInPage.SpecialOfferCheckbox.Click(); }