/// <summary> /// Performs the playback of actions in this module. /// </summary> /// <remarks>You should not call this method directly, instead pass the module /// instance to the <see cref="TestModuleRunner.Run(ITestModule)"/> method /// that will in turn invoke this method.</remarks> void ITestModule.Run() { const string testCaseName = "AllRegistrations"; string subscriptionPlanRow = TestSuite.Current.GetTestCase(testCaseName).DataContext.CurrentRow["SubscriptionPlan"]; string regPage2PlanNameExpected = TestSuite.Current.GetTestCase(testCaseName).DataContext.CurrentRow["regPage2PlanNameExpected"]; string confirmPagePlanNameExpected = TestSuite.Current.GetTestCase(testCaseName).DataContext.CurrentRow["confirmPagePlanNameExpected"]; OTLSubscriptionPlanRegPage1.SubscriptionPlan subscriptionPlanToSelect = (OTLSubscriptionPlanRegPage1.SubscriptionPlan) Enum.Parse(typeof(OTLSubscriptionPlanRegPage1.SubscriptionPlan),subscriptionPlanRow,false); Mouse.DefaultMoveTime = AppSettings.MouseDefaultMoveTime; Keyboard.DefaultKeyPressTime = AppSettings.KeyboardDefaultKeyPressTime; Delay.SpeedFactor = 1.0; string url = string.Format("http://{0}/member.aspx", AppSettings.Domain); Browser browser = new Browser(AppSettings.Browser,url,true); HomePageMember homePageMember = new HomePageMember(browser); homePageMember.ClickSubscribeLink(); RegPageStep1 regPageStep1 = new RegPageStep1(browser,subscriptionPlanToSelect, AccountInfo.DefaultInfo.Standard); OTLSubscriptionPlanRegPage1 otlPlan = regPageStep1.GetOTLSubscriptionPlan(); //e.g. Monthly, MonthlyPremium, Annual, AnnualPremium OTLSubscriptionPlanRegPage1.SubscriptionPlan regPage1PlanSelected = otlPlan.Subscription; //e.g. "$37.50/month" "$250.00/year" "$375.00/year" "$25.00/month" string regPage1PlanPrice = otlPlan.SubscriptionPrice; regPageStep1.ClickContinue(); RegPageStep2 regPageStep2 = new RegPageStep2(browser, BillingInformation.DefaultInfo.Standard, PaymentInformation.DefaultInfo.Standard); OTLSubscriptionPlanRegPage2 otlPlanPage2 = regPageStep2.GetOTLSubscriptionPlan(); //e.g. "Monthly Premium Subscription" "Monthly Subscription" "Annual Subscription" "Annual Premium Subscription" string regPage2PlanName = otlPlanPage2.PlanName; //e.g. "$37.50/month" "$25.00/month" "$250.00/year" "$375.00/year" string regPage2PlanPrice = otlPlanPage2.PlanPrice; regPageStep2.ClickIHaveRead(); regPageStep2.ClickStartMembership(); RegConfirm regPageConfirm = new RegConfirm(browser); OTLPlanInfo otlPlanInfo = regPageConfirm.GetOTLPlanInfo(); string confirmPagePlanName = otlPlanInfo.Name; //e.g. "Monthly Premium" "Monthly" "Annual" "Annual Premium" string confirmPagePlanPrice = otlPlanInfo.Price; //e.g. "$37.50" "$25.00" "$250.00" "$375.00" regPageConfirm.ClickLogoutLink(); homePageMember.WaitForLoad(); //Verify displayed subscription info on reg page 2 and confirm page matches what was selected on reg page 1. Validate.AreEqual(string.Compare(regPage2PlanName,regPage2PlanNameExpected,false),0, "Actual:{0} Expected:{1}",true); Validate.AreEqual(string.Compare(confirmPagePlanName,confirmPagePlanNameExpected,false),0, "Actual:{0} Expected:{1}",true); Validate.AreEqual(string.Compare(regPage1PlanPrice,regPage2PlanPrice,false),0, "Actual:{0} Expected:{1}",true); Validate.AreEqual(string.Compare(confirmPagePlanPrice,regPage2PlanPrice.Substring(0,confirmPagePlanPrice.Length),false),0, "Actual:{0} Expected:{1}",true); }
/// <summary> /// Performs the playback of actions in this module. /// </summary> /// <remarks>You should not call this method directly, instead pass the module /// instance to the <see cref="TestModuleRunner.Run(ITestModule)"/> method /// that will in turn invoke this method.</remarks> void ITestModule.Run() { Mouse.DefaultMoveTime = 50; Keyboard.DefaultKeyPressTime = 50; Delay.SpeedFactor = 1.0; string url = string.Format("http://{0}/member.aspx",AppSettings.Domain); Browser browser = new Browser(AppSettings.Browser, url,true); HomePageMember homePageMember = new HomePageMember(browser); homePageMember.ClickSubscribeLink(); RegPageStep1 regPageStep1 = new RegPageStep1(browser,OTLSubscriptionPlanRegPage1.SubscriptionPlan.MonthlyPremium, AccountInfo.DefaultInfo.Standard); regPageStep1.CheckOrUncheckMonthlyNewsletters(true); regPageStep1.CheckOrUncheckNewReleases(true); regPageStep1.CheckOrUncheckSpecialAnnouncements(true); regPageStep1.FillAccountInfo(); //standard info default. //custom AccountInfo accountInfo = new AccountInfo(); //Nothing initialized accountInfo.SignMeUpNewReleases=true; accountInfo = new AccountInfo(AccountInfo.DefaultInfo.Standard); //Standard account info //change standard values to custom accountInfo.FirstName="Trebek"; accountInfo.SignMeUpSpecial=false; regPageStep1.FillAccountInfo(accountInfo); //write to one field only regPageStep1.FillAccountInfo(AccountInfo.Field.LastName, "Connery"); regPageStep1.FillAccountInfo(AccountInfo.Field.FirstName, "Sean"); //get current account info accountInfo = regPageStep1.GetAccountInfo(); string firstName = accountInfo.Username; bool newReleasesChecked = accountInfo.SignMeUpNewReleases; //change subscription plan regPageStep1.SelectOTLSubscription(OTLSubscriptionPlanRegPage1.SubscriptionPlan.Monthly); //get current plan OTLSubscriptionPlanRegPage1 otlSubscriptionPlan = regPageStep1.GetOTLSubscriptionPlan(); OTLSubscriptionPlanRegPage1.SubscriptionPlan otlCurrentPlan = otlSubscriptionPlan.Subscription; regPageStep1.ClickContinue(); RegPageStep2 regPageStep2 = new RegPageStep2(browser, BillingInformation.DefaultInfo.Standard, PaymentInformation.DefaultInfo.Standard); regPageStep2.FillBillingInfo(); //standard info default regPageStep2.FillPaymentInfo(); //standard info default //custom BillingInformation billingInfo = new BillingInformation(); //nothing initialized billingInfo.HowHear="Radio"; PaymentInformation paymentInfo = new PaymentInformation(); //nothing ititialized paymentInfo.ExpirationYear="2013"; billingInfo = new BillingInformation(BillingInformation.DefaultInfo.Standard); //standard billing info paymentInfo = new PaymentInformation(PaymentInformation.DefaultInfo.Standard); //standard payment info //change standard values to custom billingInfo.Phone="5555551234"; paymentInfo.ExpirationYear="2014"; regPageStep2.FillBillingInfo(billingInfo); regPageStep2.FillPaymentInfo(paymentInfo); //write to one field only regPageStep2.FillBillingInfo(BillingInformation.Field.Apt, "1"); regPageStep2.FillPaymentInfo(PaymentInformation.Field.ExpireYear, "2015"); //get current billing and payment info billingInfo = regPageStep2.GetBillingInfo(); paymentInfo = regPageStep2.GetPaymentInfo(); string billingAddress = billingInfo.Address; string paymentNameOnCard = paymentInfo.NameOnCard; regPageStep2.ClickIHaveRead(); regPageStep2.ClickStartMembership(); }