public void CheckLoading() { Browser.Navigate().GoToUrl("https://cme.ama-assn.org/gme-competency/"); IWebElement ProdUserNameTxt = Browser.FindElement(By.Id("go_username")); IWebElement ProdPasswordTxt = Browser.FindElement(By.Id("go_password")); IWebElement ProdLoginBtn = Browser.FindElement(By.XPath("//input[@value='Sign In']")); ProdUserNameTxt.Clear(); ProdUserNameTxt.SendKeys("jpenderville"); ProdPasswordTxt.Clear(); ProdPasswordTxt.SendKeys("password1"); ProdLoginBtn.Click(); GCEPPage GP = new GCEPPage(Browser); GP.WaitForInitialize(); InstitutionsPage IP = GP.ClickToAdvance(GP.InstitutionManagLnk); InstitutionsGCEPPage InsGcep = IP.SearchforInstitutions("Beaumont Health System (SEMCME)"); PromotePGYPage ProPGY = InsGcep.ClickToAdvance(InsGcep.InstitutionPromotePgyLnk); Thread.Sleep(8000); Assert.True(ProPGY.AvailableResidentsPromotePGYTblFirstRowChk.Displayed); //Thread.Sleep(3000); //Assert.False(ProPGY.AvailableResidentsPromotePGYTblFirstRowChk.Displayed); //Thread.Sleep(3000); //Assert.True(ProPGY.AvailableResidentsPromotePGYTblFirstRowChk.Displayed); }
public void CheckGCEPElements() { Browser.Navigate().GoToUrl("https://cme.ama-assn.org/gme-competency/"); IWebElement ProdUserNameTxt = Browser.FindElement(By.Id("go_username")); IWebElement ProdPasswordTxt = Browser.FindElement(By.Id("go_password")); IWebElement ProdLoginBtn = Browser.FindElement(By.XPath("//input[@value='Sign In']")); ProdUserNameTxt.Clear(); ProdUserNameTxt.SendKeys("jpenderville"); ProdPasswordTxt.Clear(); ProdPasswordTxt.SendKeys("password1"); ProdLoginBtn.Click(); GCEPPage GP = new GCEPPage(Browser); GP.WaitForInitialize(); Assert.True(GP.AMALogoLnk.Enabled); Assert.True(GP.InstitutionsCountLnk.Displayed); Assert.True(GP.TotalCurriculumTmtsCountLnk.Displayed); Assert.True(GP.TotalUsersCountLnk.Displayed); Assert.True(GP.SendEmailNotificationLnk.Displayed); Assert.True(GP.CreateCurriculumTemplatesLnk.Displayed); Assert.True(GP.RunReportLnk.Displayed); Assert.True(GP.InstitutionManagLnk.Displayed); Assert.True(GP.UserManageLnk.Displayed); Assert.True(GP.CurriculumTemplatesLnk.Displayed); Assert.True(GP.DashboardNotificationManageLnk.Displayed); }
public void TestHelp() { Browser.Navigate().GoToUrl("https://cme.ama-assn.org/gme-competency/"); IWebElement ProdUserNameTxt = Browser.FindElement(By.Id("go_username")); IWebElement ProdPasswordTxt = Browser.FindElement(By.Id("go_password")); IWebElement ProdLoginBtn = Browser.FindElement(By.XPath("//input[@value='Sign In']")); ProdUserNameTxt.Clear(); ProdUserNameTxt.SendKeys("jpenderville"); ProdPasswordTxt.Clear(); ProdPasswordTxt.SendKeys("password1"); ProdLoginBtn.Click(); GCEPPage GP = new GCEPPage(Browser); GP.WaitForInitialize(); HelpPage HP = GP.ClickToAdvance(GP.HelpLnk); Assert.IsTrue(HP.JAMALaunchResourceLnk.Displayed); Assert.IsTrue(HP.AMAMemberLaunchResourceLnk.Displayed); Assert.IsTrue(HP.ContactUsLbl.Displayed); }
public void Resident_GCEP_SortBy_Progress() { /// 1.Navigate to the login page login as UserInfo role = UserUtils.GetUser(UserRole.Ama_Staff); LoginPage LP = Navigation.GoToLoginPage(browser); EducationCenterPage ED = LP.LoginAsUser("10031193", "password"); /// 2.click to GCEP link navigate to Gcep page and waiting load icon disappear GCEPPage Gcep = ED.ClickToAdvance(ED.GcepLnk); /// 3. Clicking resident sort by progrees button. Gcep.ResidentGCEPSortBYProgressBtn.Click(); Gcep.WaitForInitialize(); /// 4.Clicking to Sort By duration button and wait to page reload. do { ElemSet.ScrollToElement(browser, Gcep.FaceBookLnk); }while (!Gcep.ResidentGcepShowElectiveCourseLnk.Displayed); /// 5.Getting all progress information checking all conditions by AC#28 Assert.True(Gcep.ResidentCourseProgressVerification(Gcep.ResidentCoutseStatusFailedLbl, Gcep.ResidentCourseStatusLockedLbl)); }
public void MultyInstitution_CreatingCurriculum() { string curriculumName = ""; if (BrowserName == BrowserNames.Chrome) { curriculumName = "Chrome2CurrName"; } if (BrowserName == BrowserNames.Firefox) { curriculumName = "FireFox2CurrName"; } if (BrowserName == BrowserNames.InternetExplorer) { curriculumName = "IE2CurrName"; } /// 1.Navigate to the login page login as a Admin witn below credentials LoginPage LP = Navigation.GoToLoginPage(browser); EducationCenterPage ED = LP.LoginAsUser("10016185", "password"); if (BrowserName == BrowserNames.Firefox) { Browser.WaitForElement(Bys.EducationCenterPage.GcepLnk, ElementCriteria.IsEnabled); } /// 2.click to GCEP link navigate to Gcep page and waiting load icon disappear GCEPPage GCEP = ED.ClickToAdvance(ED.GcepLnk); Browser.WaitForElement(Bys.GCEPPage.InstitutionSelElem, ElementCriteria.IsEnabled); /// 3.Verifiying breadcrump is the same as a Institution name saving Institution name and count of users for Institution Assert.True(GCEP.SelectProgramAndVerifyBreadcrump(GCEP.InstitutionSelElem)); string InstitutionName = GCEP.ReturnValueAfterSelectingInstitution(1); int FirstInstitutionUserCount = Int32.Parse(GCEP.TotalUsersCountLnk.Text); Browser.WaitForElement(Bys.GCEPPage.UserManageLnk, TimeSpan.FromSeconds(90), ElementCriteria.IsEnabled, ElementCriteria.IsVisible); /// 4.Clicking Curruculum template link creating curriculum with name depending on browser name CurriculumMngPage CurTemp = GCEP.ClickToAdvance(GCEP.CurriculumTemplatesLnk); CurTemp.Search(curriculumName); if (Browser.FindElements(Bys.CurriculumMngPage.NoRecordLbl).Count > 0) { CurriculumCoursePage CurCoursPage = CurTemp.ClickToAdvance(CurTemp.CreateCurriculumTemplateBtn); HelperMethods.CurriculumCreationFlow(browser, curriculumName); } /// 5.Cliking to the the breadcrump with Institution name and naviagting GCEP page GCEP = CurTemp.ClickToBreadCrumbContainerToReturnGcep(InstitutionName); /// 6.Choosing second Institution from Dropdown and saving Institution name and count of users for Institution string secondInstutionName = GCEP.ReturnValueAfterSelectingInstitution(2); int SecondInstitutionUserCount = Int32.Parse(GCEP.TotalUsersCountLnk.Text); Assert.True(GCEP.SelectProgramAndVerifyBreadcrump(GCEP.InstitutionSelElem)); /// 7.Clicking Curruculum template link searching for curriculum what we create for first Institution CurTemp = GCEP.ClickToAdvance(GCEP.CurriculumTemplatesLnk); CurTemp.Search(curriculumName); /// 8. Verifiying curriculum not displayed for different Institution Assert.True(CurTemp.NoRecordLabel.Displayed); /// 9.Clicking breadcrump with second Institution name and navigating to GCEP page GCEP = CurTemp.ClickToBreadCrumbContainerToReturnGcep(secondInstutionName); /// 10.Verifiying breadcrump is the same as a Institution name saving Institution name and count of users for third Institution Assert.True(GCEP.SelectProgramAndVerifyBreadcrump(GCEP.InstitutionSelElem)); string thirdInstitutionName = GCEP.ReturnValueAfterSelectingInstitution(3); int ThirdInstitutionUserCount = Int32.Parse(GCEP.TotalUsersCountLnk.Text); /// 11.Clicking Curruculum template link searching for curriculum what we create for first Institution CurTemp = GCEP.ClickToAdvance(GCEP.CurriculumTemplatesLnk); CurTemp.Search(curriculumName); /// 12.Verifiying curriculum not displayed for a different Institution Assert.True(CurTemp.NoRecordLabel.Displayed); /// 13.Clicking breadcrump with third Institution name and navigating to GCEP page GCEP = CurTemp.ClickToBreadCrumbContainerToReturnGcep(thirdInstitutionName); /// 14.Verifiying breadcrump is the same as a Institution name saving Institution name and count of users for fourth Institution Assert.True(GCEP.SelectProgramAndVerifyBreadcrump(GCEP.InstitutionSelElem)); string fourthInstitutionName = GCEP.ReturnValueAfterSelectingInstitution(4); int FourthInstitutionUserCount = Int32.Parse(GCEP.TotalUsersCountLnk.Text); /// 15.Clicking Curruculum template link searching for curriculum what we create for first Institution CurTemp = GCEP.ClickToAdvance(GCEP.CurriculumTemplatesLnk); CurTemp.Search(curriculumName); /// 16.Verifiying curriculum not displayed for a different Institution Assert.True(CurTemp.NoRecordLabel.Displayed); /// 17.Clicking breadcrump with fourth Institution name and navigating to GCEP page GCEP = CurTemp.ClickToBreadCrumbContainerToReturnGcep(fourthInstitutionName); /// 18.Verifiying breadcrump is the same as a Institution name saving Institution name and count of users for fifth Institution Assert.True(GCEP.SelectProgramAndVerifyBreadcrump(GCEP.InstitutionSelElem)); string fifthInstitutionName = GCEP.ReturnValueAfterSelectingInstitution(5); int FifthInstitutionUserCount = Int32.Parse(GCEP.TotalUsersCountLnk.Text); /// 19.Clicking Curruculum template link searching for curriculum what we create for first Institution CurTemp = GCEP.ClickToAdvance(GCEP.CurriculumTemplatesLnk); CurTemp.Search(curriculumName); /// 20.Verifiying curriculum not displayed for a different Institution Assert.True(CurTemp.NoRecordLabel.Displayed); /// 21.Clicking breadcrump with fifth Institution name and navigating to GCEP page GCEP = CurTemp.ClickToBreadCrumbContainerToReturnGcep(fifthInstitutionName); /// 22. Choosing first Institution waiting for initialize page GCEP.InstitutionSelElem.SelectByText(InstitutionName); GCEP.WaitForInitialize(); /// 23.Clicking Curruculum template link searching for curriculum what we create for first Institution CurTemp = GCEP.ClickToAdvance(GCEP.CurriculumTemplatesLnk); CurTemp.Search(curriculumName); /// 24. Deleting curriculum and verifying label is displayed CurTemp.DeleteCurriculum(curriculumName); Assert.IsTrue(CurTemp.NoRecordLabel.Displayed); /// 25.Verifying counts of user for each Institution not equal. Assert.False(DataUtils.intsEqual(FirstInstitutionUserCount, SecondInstitutionUserCount, ThirdInstitutionUserCount, FourthInstitutionUserCount, FifthInstitutionUserCount)); //Assert.True(DataUtils.intsEqual(FirstInstitutionUserCount, FirstInstitutionUserCount, FirstInstitutionUserCount, FirstInstitutionUserCount)); //Assert.False(DataUtils.intsEqual(FirstInstitutionUserCount, FirstInstitutionUserCount, FirstInstitutionUserCount, FirstInstitutionUserCount, SecondInstitutionUserCount)); //Assert.False(DataUtils.intsEqual(FirstInstitutionUserCount)); //Assert.True(DataUtils.intsEqual(FirstInstitutionUserCount, FirstInstitutionUserCount)); }
public void MultyProgram_CreatingCurriculum_Flow() { string curriculumName = ""; if (BrowserName == BrowserNames.Chrome) { curriculumName = "Chrome3CurrName"; } if (BrowserName == BrowserNames.Firefox) { curriculumName = "FireFox3CurrName"; } if (BrowserName == BrowserNames.InternetExplorer) { curriculumName = "IE3CurrName"; } /// 1.Navigate to the login page login as a Manager UserInfo role = UserUtils.GetUser(UserRole.Manager); LoginPage LP = Navigation.GoToLoginPage(browser); EducationCenterPage ED = LP.LoginAsUser(role.Username, role.Password); if (BrowserName == BrowserNames.Firefox) { Browser.WaitForElement(Bys.EducationCenterPage.GcepLnk, ElementCriteria.IsEnabled); } /// 2.click to CGEP link navigate to Gcep page and waiting load icon disappear GCEPPage GCEP = ED.ClickToAdvance(ED.GcepLnk); Browser.WaitForElement(Bys.GCEPPage.ProgramSelElem, ElementCriteria.IsEnabled); /// 3.Verifiying breadcrump is the same as a Program name saving Program name Assert.True(GCEP.SelectProgramAndVerifyBreadcrump(GCEP.ProgramSelElem)); string ProgramName = GCEP.ReturnValueAfterSelectingProgram(1); // GCEP.ReturnValueAfterSelectingFromDropDown(GCEP.ProgramSelElem, 1); /// 4.Clicking Curruculum template link creating curriculum searching for curriculum if its not exist then creating curriculum with name depending on browser name CurriculumMngPage CurTemp = GCEP.ClickToAdvance(GCEP.CurriculumTemplatesLnk); CurTemp.Search(curriculumName); if (Browser.FindElements(Bys.CurriculumMngPage.NoRecordLbl).Count > 0) { CurriculumCoursePage CurCoursPage = CurTemp.ClickToAdvance(CurTemp.CreateCurriculumTemplateBtn); HelperMethods.CurriculumCreationFlow(browser, curriculumName); } /// 5.Cliking to the the breadcrump with Program name and naviagting GCEP page GCEP = CurTemp.ClickToBreadCrumbContainerToReturnGcep(ProgramName); Browser.WaitForElement(Bys.GCEPPage.ProgramSelElem, ElementCriteria.IsEnabled); /// 6.Choosing second Program from Dropdown and saving Institution name string secondProgramName = GCEP.ReturnValueAfterSelectingProgram(2); //GCEP.ReturnValueAfterSelectingFromDropDown(GCEP.ProgramSelElem, 2); Assert.True(GCEP.SelectProgramAndVerifyBreadcrump(GCEP.ProgramSelElem)); Browser.WaitForElement(Bys.GCEPPage.CurriculumTemplatesLnk, ElementCriteria.IsEnabled); //delete after performance issue removed /// 7.Clicking Curruculum template link searching for curriculum what we create for first Program CurTemp = GCEP.ClickToAdvance(GCEP.CurriculumTemplatesLnk); CurTemp.Search(curriculumName); /// 8. Verifiying curriculum not displayed for different Program Assert.True(CurTemp.NoRecordLabel.Displayed); /// 9.Clicking breadcrump with second Program name and navigating to GCEP page GCEP = CurTemp.ClickToBreadCrumbContainerToReturnGcep(secondProgramName); Browser.WaitForElement(Bys.GCEPPage.ProgramSelElem, ElementCriteria.IsEnabled); /// 10.Verifiying breadcrump is the same as a Program name saving Program name for third Program Assert.True(GCEP.SelectProgramAndVerifyBreadcrump(GCEP.ProgramSelElem)); string thirdProgramName = GCEP.ReturnValueAfterSelectingProgram(3); //GCEP.ReturnValueAfterSelectingFromDropDown(GCEP.ProgramSelElem, 3); Browser.WaitForElement(Bys.GCEPPage.CurriculumTemplatesLnk, ElementCriteria.IsEnabled); //delete after performance issue removed /// 11.Clicking Curruculum template link searching for curriculum what we create for first Program CurTemp = GCEP.ClickToAdvance(GCEP.CurriculumTemplatesLnk); CurTemp.Search(curriculumName); /// 12. Verifiying curriculum not displayed for different Program Assert.True(CurTemp.NoRecordLabel.Displayed); /// 13.Clicking breadcrump with third Program name and navigating to GCEP page GCEP = CurTemp.ClickToBreadCrumbContainerToReturnGcep(thirdProgramName); Browser.WaitForElement(Bys.GCEPPage.ProgramSelElem, ElementCriteria.IsEnabled); /// 14. Choosing first Program from dropdown waiting for initialize page GCEP.ProgramSelElem.SelectByText(ProgramName); GCEP.WaitForInitialize(); Assert.True(GCEP.SelectProgramAndVerifyBreadcrump(GCEP.ProgramSelElem)); Browser.WaitForElement(Bys.GCEPPage.CurriculumTemplatesLnk, ElementCriteria.IsEnabled); //delete after performance issue removed /// 15.Clicking Curruculum template link searching for curriculum what we create for first Program CurTemp = GCEP.ClickToAdvance(GCEP.CurriculumTemplatesLnk); CurTemp.Search(curriculumName); /// 16.Deleting curriculum and verifying label is displayed CurTemp.DeleteCurriculum(curriculumName); Assert.IsTrue(CurTemp.NoRecordLabel.Displayed); }
public void MemberBenefits() { /// 1. Navigate to the login page login as a Manager or AMA staff UserInfo role = UserUtils.GetUser(UserRole.Ama_Staff); LoginPage LP = Navigation.GoToLoginPage(browser); EducationCenterPage ED = LP.LoginAsUser(role.Username, role.Password); /// 2.click to CGEP link to navigate Gcep page and waiting load icon disappear GCEPPage GCEP = ED.ClickToAdvance(ED.GcepLnk); MemberBenefitPage MPG = GCEP.ClickToAdvance(GCEP.MemberBenefitsManagementLnk); ElemSet.ScrollToElement(browser, MPG.FaceBookLnk); List <string> benefitTitlesAMAlevel_Published = new List <string>(Browser.FindElements(By.XPath("//div[@class='col-lg-3 col-md-3 col-sm-3 col-xs-6 ng-scope']/span")).Select(ow => ow.Text)); GCEP = MPG.ClickToAdvance(MPG.GMECompetencyEducationProgramLnk); GCEP.AdminSwitchBtn.Click(); GCEP.WaitForInitialize(); GCEP.ScrolltoGetAllCourses(); ElemSet.ScrollToElement(Browser, GCEP.FaceBookLnk); List <string> benefitTitlesResidentlevel = new List <string>(Browser.FindElements(By.XPath("//div[@class='col-lg-3 col-md-3 col-sm-3 col-xs-6 ng-scope']/span")).Select(ow => ow.Text)); Assert.AreEqual(benefitTitlesAMAlevel_Published, benefitTitlesResidentlevel); GCEP.GMECompetencyEducationProgramLnk.Click(); GCEP.WaitForInitialize(); if (BrowserName == BrowserNames.InternetExplorer) { Browser.WaitForElement(Bys.GCEPPage.MemberBenefitsManagementLnk, TimeSpan.FromSeconds(90), ElementCriteria.IsEnabled); } MPG = GCEP.ClickToAdvance(GCEP.MemberBenefitsManagementLnk); List <string> benefitTitlesAMAlevel_Not_Published = new List <string>(Browser.FindElements(By.XPath("//div[@class='col-lg-3 col-md-3 col-sm-3 col-xs-6 cross-sell-list-item ng-scope']/div[@class='margin-top-bottom-20 margin-bottom-15 ng-binding']")).Select(ow => ow.Text)); if (benefitTitlesAMAlevel_Published.Count == benefitTitlesAMAlevel_Not_Published.Count) { MPG.TitleTxt.SendKeys("newBenefit"); MPG.URLTxt.SendKeys("www.google.com"); FileUtils.UploadFileUsingSendKeys(Browser, MPG.MembershipFormBrowseHiddenBtn, Bys.MemberBenefitPage.MembershipFormBrowseHiddenBtn, @"C:\upload\physician_save_0.jpg"); MPG.SaveBtn.Click(); MPG.WaitForInitialize(); } ElemSet.ScrollToElement(Browser, MPG.PublishBtn); Thread.Sleep(500); MPG.PublishBtn.Click(); MPG.WaitForInitialize(); List <string> benefitTitlesAMAlevel_Published_firstTime = new List <string>(Browser.FindElements(By.XPath("//div[@class='col-lg-3 col-md-3 col-sm-3 col-xs-6 ng-scope']/span")).Select(ow => ow.Text)); GCEP = MPG.ClickToAdvance(MPG.GMECompetencyEducationProgramLnk); GCEP.ClickToAdvance(GCEP.SignOutLnk); LP = Navigation.GoToLoginPage(browser); ED = LP.LoginAsUser("10031198", "password"); GCEP = ED.ClickToAdvance(ED.GcepLnk); GCEP.ScrolltoGetAllCourses(); ElemSet.ScrollToElement(Browser, GCEP.FaceBookLnk); List <string> benefitTitlesResidentlevel_firstTime = new List <string>(Browser.FindElements(By.XPath("//div[@class='col-lg-3 col-md-3 col-sm-3 col-xs-6 ng-scope']/span")).Select(ow => ow.Text)); Assert.AreEqual(benefitTitlesAMAlevel_Published_firstTime, benefitTitlesResidentlevel_firstTime); // FileUtils.UploadFileUsingSendKeys(Browser, MPG.MembershipFormBrowseHiddenBtn, Bys.MemberBenefitPage.MembershipFormBrowseHiddenBtn, @"C:\upload\physician_save_0.jpg"); // MPG.ChooseFileBtn.Click(); GCEP.ClickToAdvance(GCEP.SignOutLnk); LP = Navigation.GoToLoginPage(browser); ED = LP.LoginAsUser(role.Username, role.Password); GCEP = ED.ClickToAdvance(ED.GcepLnk); MPG = GCEP.ClickToAdvance(GCEP.MemberBenefitsManagementLnk); IWebElement benefitToDelete = Browser.FindElement(By.XPath("//div[@class = 'margin-top-bottom-20 margin-bottom-15 ng-binding' and contains (text(),'newBenefit')]/..//span[@class='glyphicon glyphicon-remove cursor-pointer']")); benefitToDelete.Click(); Thread.Sleep(500); MPG.AcceptBtn.Click(); MPG.WaitForInitialize(); MPG.PublishBtn.Click(); MPG.WaitForInitialize(); List <string> benefitTitlesAMAlevel_Published_secondTime = new List <string>(Browser.FindElements(By.XPath("//div[@class='col-lg-3 col-md-3 col-sm-3 col-xs-6 ng-scope']/span")).Select(ow => ow.Text)); GCEP = MPG.ClickToAdvance(MPG.GMECompetencyEducationProgramLnk); GCEP.ClickToAdvance(GCEP.SignOutLnk); LP = Navigation.GoToLoginPage(browser); ED = LP.LoginAsUser("10031198", "password"); GCEP = ED.ClickToAdvance(ED.GcepLnk); GCEP.ScrolltoGetAllCourses(); ElemSet.ScrollToElement(Browser, GCEP.FaceBookLnk); List <string> benefitTitlesResidentlevel_secondTime = new List <string>(Browser.FindElements(By.XPath("//div[@class='col-lg-3 col-md-3 col-sm-3 col-xs-6 ng-scope']/span")).Select(ow => ow.Text)); Assert.AreEqual(benefitTitlesAMAlevel_Published_secondTime, benefitTitlesResidentlevel_secondTime); Thread.Sleep(15000); }
public void Resident_CourseListing_StartNow() { /// 1.Navigate to the login page login as LoginPage LP = Navigation.GoToLoginPage(browser); EducationCenterPage ED = LP.LoginAsUser("10030248", "password");//30248 /// 2.click to GCEP link navigate to Gcep page and waiting load icon disappear GCEPPage Gcep = ED.ClickToAdvance(ED.GcepLnk); /// 3. Waiting to course tracker to display and verifying all sort by buttons are displayed and enabled Browser.WaitForElement(Bys.GCEPPage.ResidentCourseTrackerLbl, TimeSpan.FromSeconds(120), ElementCriteria.IsVisible); Assert.True(Gcep.ResidentGCEPSortBYDueDateBtn.Displayed); Assert.True(Gcep.ResidentGCEPSortBYDurationBtn.Displayed); Assert.True(Gcep.ResidentGCEPSortBYProgressBtn.Displayed); /// 4.If Start Now button disabled then scrol down and click show elective courses if (Gcep.ResidentCouseStartNowBtn.GetAttribute("class").Contains("disabled")) { Gcep.ScrolltoGetAllCourses(); Gcep.ResidentGcepShowElectiveCourseLnk.Click(); } /// 5.Scrolling down and saving all courses headers. Gcep.ScrolltoGetAllCourses(); List <string> courseTitlesByDueDate = new List <string>(Browser.FindElements(By.XPath("//div[@class='row activity-listing-row']//h4")).Select(iw => iw.Text)); /// 6.Getting locked courses headers and comparing with all courses headers by due date if its matching removing locked courses headers List <string> lockedCourseTitlesByDueDate = new List <string>(Browser.FindElements(By.XPath(" //span[@class='locked']/../..//div[@class='activity-info-name']/h4")).Select(iw => iw.Text)); if (lockedCourseTitlesByDueDate.Count > 0) { for (int i = 0; i < courseTitlesByDueDate.Count; i++) { for (int j = 0; j < lockedCourseTitlesByDueDate.Count; j++) { if (courseTitlesByDueDate[i] == lockedCourseTitlesByDueDate[j]) { courseTitlesByDueDate.Remove(courseTitlesByDueDate[i]); } } } } /// 7.Getting completed courses headers and comparing with all courses headers by due date if its matching removing completed courses headers. List <string> completedCourseTitlesByDueDate = new List <string>(Browser.FindElements(By.XPath(" //span[@class='completed-date ng-binding']/../..//div[@class='activity-info-name']/h4")).Select(iw => iw.Text)); if (completedCourseTitlesByDueDate.Count > 0) { for (int i = 0; i < courseTitlesByDueDate.Count; i++) { for (int j = 0; j < completedCourseTitlesByDueDate.Count; j++) { if (courseTitlesByDueDate[i] == completedCourseTitlesByDueDate[j]) { courseTitlesByDueDate.Remove(courseTitlesByDueDate[i]); } } } } /// 8.After removing locked courses and completed courses headers getting first course header and saving it.Then clicking start now button string firstCourseTitleByDueDate = courseTitlesByDueDate[0]; ElemSet.ScrollToElement(Browser, Gcep.ResidentCourseTrackerLbl); CourseTestPage CTP = Gcep.ClickToAdvance(Gcep.ResidentCouseStartNowBtn); /// 9.getting course name header and comparing with our first course header what saved above and navigating back string startedCourseTitleByDueDate = CTP.CourseTitleLbl.Text; Assert.AreEqual(firstCourseTitleByDueDate, startedCourseTitleByDueDate); Browser.Navigate().Back(); Gcep.WaitForInitialize(); Gcep.ResidentGCEPSortBYDurationBtn.Click(); Gcep.WaitForInitialize(); if (Gcep.ResidentCouseStartNowBtn.GetAttribute("class").Contains("disabled")) { Gcep.ScrolltoGetAllCourses(); Gcep.ResidentGcepShowElectiveCourseLnk.Click(); } Gcep.ScrolltoGetAllCourses(); List <string> courseTitlesByDuration = new List <string>(Browser.FindElements(By.XPath("//div[@class='row activity-listing-row']//h4")).Select(iw => iw.Text)); List <string> lockedCourseTitlesByDuration = new List <string>(Browser.FindElements(By.XPath(" //span[@class='locked']/../..//div[@class='activity-info-name']/h4")).Select(iw => iw.Text)); if (lockedCourseTitlesByDuration.Count > 0) { for (int i = 0; i < courseTitlesByDuration.Count; i++) { for (int j = 0; j < lockedCourseTitlesByDuration.Count; j++) { if (courseTitlesByDuration[i] == lockedCourseTitlesByDuration[j]) { courseTitlesByDuration.Remove(courseTitlesByDuration[i]); } } } } List <string> completedCourseTitlesByDuration = new List <string>(Browser.FindElements(By.XPath(" //span[@class='completed-date ng-binding']/../..//div[@class='activity-info-name']/h4")).Select(iw => iw.Text)); if (completedCourseTitlesByDuration.Count > 0) { for (int i = 0; i < courseTitlesByDuration.Count; i++) { for (int j = 0; j < completedCourseTitlesByDuration.Count; j++) { if (courseTitlesByDuration[i] == completedCourseTitlesByDuration[j]) { courseTitlesByDuration.Remove(courseTitlesByDuration[i]); } } } } string firstCourseTitleByDuration = courseTitlesByDuration[0]; ElemSet.ScrollToElement(Browser, Gcep.ResidentCourseTrackerLbl); CTP = Gcep.ClickToAdvance(Gcep.ResidentCouseStartNowBtn); string startedCourseTitleByDuration = CTP.CourseTitleLbl.Text; Assert.AreEqual(firstCourseTitleByDuration, startedCourseTitleByDuration); Browser.Navigate().Back(); Gcep.WaitForInitialize(); Gcep.ResidentGCEPSortBYProgressBtn.Click(); Gcep.WaitForInitialize(); if (Gcep.ResidentCouseStartNowBtn.GetAttribute("class").Contains("disabled")) { Gcep.ScrolltoGetAllCourses(); Gcep.ResidentGcepShowElectiveCourseLnk.Click(); } Gcep.ScrolltoGetAllCourses(); List <string> courseTitlesProgress = new List <string>(Browser.FindElements(By.XPath("//div[@class='row activity-listing-row']//h4")).Select(iw => iw.Text)); List <string> lockedCourseTitlesByProgress = new List <string>(Browser.FindElements(By.XPath(" //span[@class='locked']/../..//div[@class='activity-info-name']/h4")).Select(iw => iw.Text)); if (lockedCourseTitlesByProgress.Count > 0) { for (int i = 0; i < courseTitlesProgress.Count; i++) { for (int j = 0; j < lockedCourseTitlesByProgress.Count; j++) { if (courseTitlesProgress[i] == lockedCourseTitlesByProgress[j]) { courseTitlesProgress.Remove(courseTitlesProgress[i]); } } } } List <string> completedCourseTitlesByProgress = new List <string>(Browser.FindElements(By.XPath(" //span[@class='completed-date ng-binding']/../..//div[@class='activity-info-name']/h4")).Select(iw => iw.Text)); if (completedCourseTitlesByProgress.Count > 0) { for (int i = 0; i < courseTitlesProgress.Count; i++) { for (int j = 0; j < completedCourseTitlesByProgress.Count; j++) { if (courseTitlesProgress[i] == completedCourseTitlesByProgress[j]) { courseTitlesProgress.Remove(courseTitlesProgress[i]); } } } } string firstCourseTitleByProgress = courseTitlesProgress[0]; ElemSet.ScrollToElement(Browser, Gcep.ResidentCourseTrackerLbl); CTP = Gcep.ClickToAdvance(Gcep.ResidentCouseStartNowBtn); string startedCourseTitleByProgress = CTP.CourseTitleLbl.Text; Assert.AreEqual(firstCourseTitleByProgress, startedCourseTitleByProgress); Browser.Navigate().Back(); Gcep.WaitForInitialize(); }
public void Resident_GCEP_SortBy_Duration() { /// 1.Navigate to the login page login as LoginPage LP = Navigation.GoToLoginPage(browser); EducationCenterPage ED = LP.LoginAsUser("10031194", "password"); /// 2.click to GCEP link navigate to Gcep page and waiting load icon disappear GCEPPage Gcep = ED.ClickToAdvance(ED.GcepLnk); /// 3. Waiting to course tracker dislay and gennting count of courses if there is not any course assigned assign courses Browser.WaitForElement(Bys.GCEPPage.ResidentCourseTrackerLbl, TimeSpan.FromSeconds(120), ElementCriteria.IsVisible); string CourseTracker = Gcep.ResidentCourseTrackerLbl.Text; /// 4.Clicking to Sort By duration button and wait to page reload. Gcep.ResidentGCEPSortBYDurationBtn.Click(); Gcep.WaitForInitialize(); if (CourseTracker.Contains("0")) { Gcep.ClickToAdvance(Gcep.SignOutLnk); LP = Navigation.GoToLoginPage(browser); ED = LP.LoginAsUser("10031315", "password"); Gcep = ED.ClickToAdvance(ED.GcepLnk); /// 3.from Gcep navigating to institution managment searching for institution looking for curriculum and if their any curriculum with the same name deleting and starting create new curriculum. InstitutionsPage Instute = Gcep.ClickToAdvance(Gcep.InstitutionManagLnk); InstitutionsGCEPPage InsGcep = Instute.SearchforInstitutions(""); ProgramsPage Program = InsGcep.ClickToAdvance(InsGcep.InstitutionProgramManagmentLnk); Program.UnassignCurriculum(); CurriculumMngPage Curriculum = InsGcep.ClickToAdvance(InsGcep.InstitutionCurriculumTmpLnk); Curriculum.Search(""); Curriculum.DeleteCurriculum(""); CurriculumCoursePage CurCoursPage = Curriculum.ClickToAdvance(Curriculum.CreateCurriculumTemplateBtn); /// 4.Form course page choosing available courses from table by index CurCoursPage.AddOrRemoveCourses(CurCoursPage.AvailableCoursesTbl, CurCoursPage.AddSelectedBtn, 1, 8, 9); // List<string> CourseNames = new List<string>(); List <string> CourseNames = CurCoursPage.GetTheNamesChoosenCourses(); /// 5. Giving the name for curriculum passing parameter from TestCase as a string CurCoursPage.CurriculumNameTxt.Clear(); CurCoursPage.CurriculumNameTxt.SendKeys(""); /// 6.Saving curriculum and navigating to the pgy pages to assigne course to students PGYAssignmentPage PGY = CurCoursPage.ClickToAdvance(CurCoursPage.NextBtn); /// 7.Choosing student years to assign course by index for each course PGY.Grid_ClickElementWithoutTextInsideRow(PGY.CourseTbl, 1, 5); PGY.Grid_ClickElementWithoutTextInsideRow(PGY.CourseTbl, 2, 5); PGY.Grid_ClickElementWithoutTextInsideRow(PGY.CourseTbl, 3, 5); /// 8. Saving curriculum and navigating to curriculum management page again PGY.ClickToAdvance(PGY.SaveExitBtn); /// 9.Finding curriculum what we create and assigning to the programm Curriculum.Search(""); Curriculum.Actioncell.Click(); AssignProgramPage Assign = Curriculum.ClickToAdvance(Curriculum.AssignToProgrammLnk); /// 10.Choosing starting date and ending date for program and clicking next button string StartingDate = Assign.ChoosingStartDate(); string EndingDate = Assign.ChoosingEndDate(1, "MM/d/yyyy"); Assign.AssignProgramm(); AssignSummaryPage Summary = Assign.ClickToAdvance(Assign.NextBtn); /// 11.Verifying from Assign Summary page program is displayed Assert.IsTrue(Summary.CreatedProgramName.Displayed); Assert.AreEqual((Summary.CreatedProgramName.Text), ""); /// 12.Verifying Assing confirmation test page curriculum name and starting date and ending dates are there which we choose. AssignConfirmationPage Confirmation = Summary.ClickToAdvance(Summary.NextBtn); // Assert.IsTrue(Confirmation.Grid_CellTextFound(Confirmation.ProgramSummaryTbl, StartingDate + " - " + EndingDate)); Thread.Sleep(0500); Confirmation.ConfirmBtn.Click(); /// 13.Signing out and Signing in as a Resindent counting required courses from myRequiredCourses Curriculum.ClickToAdvance(Curriculum.SignOutLnk); LP = Navigation.GoToLoginPage(browser); ED = LP.LoginAsUser("10021377", "password"); //10021375,10021377,21387 Gcep = ED.ClickToAdvance(ED.GcepLnk); //31224 } /// 5.Scrolling down to get all informartion about courses and verify that exploer elective course link displayed. do { ElemSet.ScrollToElement(browser, Gcep.FaceBookLnk); Thread.Sleep(1000); }while (!Gcep.ResidentGcepShowElectiveCourseLnk.Displayed); //while (j< countofCourse); Assert.True(Gcep.ResidentGcepShowElectiveCourseLnk.Displayed); /// 6.Getting all duration for courses and verifying its in ascending order Assert.True(Gcep.ResidentCourseCompareDuration()); }
public void Checking_AllCounts_FromGcep() { /// 1.Navigate to the login page with valid credentials below UserInfo role = UserUtils.GetUser(UserRole.Ama_Staff); LoginPage LP = Navigation.GoToLoginPage(browser); EducationCenterPage ED = LP.LoginAsUser(role.Username, role.Password); if (BrowserName == BrowserNames.Firefox) { Browser.WaitForElement(Bys.EducationCenterPage.GcepLnk, ElementCriteria.IsEnabled); } /// 2.click to CGEP link navigate to Gcep page and waiting load icon disappear and getting count of curriculum templates GCEPPage GCEP = ED.ClickToAdvance(ED.GcepLnk); int countOfCurriculumTemplatesFromGCEP = Convert.ToInt32(GCEP.TotalCurriculumTmtsCountLnk.Text); /// 3.From GCEP Navigate to Curriculum Template saving count of curriculum on the table and verifying counts of curriculum from GCEP are equals CurriculumMngPage CMP = GCEP.ClickToAdvance(GCEP.CurriculumTemplatesLnk); int countofCurriculumTemplatesFromPage = CMP.GetCountOfCurriculumonTable("of", "items"); //string something = CMP.CountTableItemLbl.Text; //something = new string(something.Where(x => char.IsDigit(x)).ToArray()); Assert.AreEqual(countOfCurriculumTemplatesFromGCEP, countofCurriculumTemplatesFromPage); /// 4.Navigating back to GCEP if (BrowserName == BrowserNames.Firefox) { Browser.Navigate().Back(); } CMP.GMECompetencyEducationProgramLnk.Click(); //AdministrationLnk.Click(); GCEP.WaitForInitialize(); if (BrowserName == BrowserNames.Firefox) { Browser.WaitForElement(Bys.GCEPPage.InstitutionManagLnk, ElementCriteria.IsEnabled); } /// 5.from Gcep navigating to institution managment searching for institution InstitutionsPage Instute = GCEP.ClickToAdvance(GCEP.InstitutionManagLnk); InstitutionsGCEPPage InsGcep = Instute.SearchforInstitutions("Albert Einstein Medical Center"); /// 6.Saving counts of program,user,curriculum template from Institution GCEP int totalProgramCountonGCEP = Convert.ToInt32(InsGcep.TotalProgramCountLnk.Text); int totalUsersCountonGCEP = Convert.ToInt32(InsGcep.TotalUserCountLnk.Text); int totalCurTempCountonGCEP = Convert.ToInt32(InsGcep.TotalCurriculumTemplatesCountLnk.Text); /// 7.Navigating Program Management Page and getting counts of Programs Page and comparing countsof program from Institution GCEP page. ProgramsPage PP = InsGcep.ClickToAdvance(InsGcep.InstitutionProgramManagmentLnk); int countsOfProgramsOnPP = PP.Grid_GetCountOfItemsOnTable("of", "items"); Assert.AreEqual(totalProgramCountonGCEP, countsOfProgramsOnPP); /// 8.Navigating to Institution GCEP Page InsGcep = PP.ClickToBreadCrumbContainerToReturnInsGCEP("Albert Einstein Medical Center"); /// 9.From Instution GCEP clicking user management link and navigating GCEP User Management page getting counts of users from User Management table /// verifying counts of users count are equals from Institution GCEP and Users Management Page. GCEPUserMngPage GUMP = InsGcep.ClickToAdvance(InsGcep.InstitutionUserManagementLnk); int CountOfUsersOnUserMngPage = GUMP.GetCountOfUsersFromUserManagementLabel(); Assert.AreEqual(totalUsersCountonGCEP, CountOfUsersOnUserMngPage); /// 10.Navigating to Institution GCEP Page InsGcep = GUMP.ClickToBreadCrumbContainerToReturnInsGCEP("Albert Einstein Medical Center"); /// 11.From Institutiom GCEP clicking curriculum templates and navigating Curriculum Mng Page and getting count of curriculum templates and asserting /// counts of curriculum template from Institution GCEP page are equals. CMP = InsGcep.ClickToAdvance(InsGcep.InstitutionCurriculumTmpLnk); int countOfCurTempFromCurrimMngPage = CMP.Grid_GetCountOfItemsOnTable("of", "items"); Assert.AreEqual(totalCurTempCountonGCEP, countOfCurTempFromCurrimMngPage); }
public void DashboardNotification_AdminView_ManagerView() { string notificationNameforAdmin = ""; if (BrowserName == BrowserNames.Chrome) { notificationNameforAdmin = "ChromeNotification"; } if (BrowserName == BrowserNames.Firefox) { notificationNameforAdmin = "FireFoxNotificaton"; } if (BrowserName == BrowserNames.InternetExplorer) { notificationNameforAdmin = "IENotification"; } /// 1.Navigate to the login page with valid credentials below UserInfo role = UserUtils.GetUser(UserRole.Ama_Staff); LoginPage LP = Navigation.GoToLoginPage(browser); EducationCenterPage ED = LP.LoginAsUser(role.Username, role.Password); if (BrowserName == BrowserNames.Firefox) { Browser.WaitForElement(Bys.EducationCenterPage.GcepLnk, ElementCriteria.IsEnabled); } /// 2.click to CGEP link and waiting load icon disappear and initializing page. GCEPPage GCEP = ED.ClickToAdvance(ED.GcepLnk); /// 3.From CGEPPage clicking Dashboard Notification Management link if (BrowserName == BrowserNames.Chrome) { Browser.WaitForElement(Bys.GCEPPage.UserManageLnk, ElementCriteria.IsVisible, ElementCriteria.IsEnabled); } DashboardNotificationsPage DNP = GCEP.ClickToAdvance(GCEP.DashboardNotificationManageLnk); /// 4.On Dashboard notification page searching notification with the same name what we are planning to create if its exist delete and after that, /// clicking create notification button and navigating NotificationCreate page DNP.Search(notificationNameforAdmin); DNP.DeleteNotification(); NotificationCreatorPage NCP = DNP.ClickToAdvance(DNP.CreateNotificationBtn); /// 5.Creating notification for Admin and Manager with the different name based on browser. NCP.NotificationNameTxt.SendKeys(notificationNameforAdmin); AssignProgramPage PP = new AssignProgramPage(Browser); PP.ChoosingStartDate(); PP.ChoosingEndDate(1, "MM/dd/yyyy"); NCP.AdminsRdo.Click(); string notificationTitleAdmin = NCP.CreateRandomString(12); NCP.NotificatioTitleTxt.SendKeys(notificationTitleAdmin); NCP.NotificationBodyTxt.SendKeys(NCP.CreateRandomString(38)); DNP = NCP.ClickToAdvance(NCP.SaveExitBtn); string notificationNameforManager = ""; if (BrowserName == BrowserNames.Chrome) { notificationNameforManager = "ChromeNotificationManager"; } if (BrowserName == BrowserNames.Firefox) { notificationNameforManager = "FireFoxNotificatonManager"; } if (BrowserName == BrowserNames.InternetExplorer) { notificationNameforManager = "IENotificationManager"; } GCEP = DNP.ClickToAdvance(DNP.GMECompetencyEducationProgramLnk); DNP = GCEP.ClickToAdvance(GCEP.DashboardNotificationManageLnk); DNP.Search(notificationNameforManager); DNP.DeleteNotification(); NCP = DNP.ClickToAdvance(DNP.CreateNotificationBtn); NCP.NotificationNameTxt.SendKeys(notificationNameforManager); PP = new AssignProgramPage(Browser); PP.ChoosingStartDate(); PP.ChoosingEndDate(1, "MM/dd/yyyy"); NCP.ManagersRdo.Click(); string notificationTitleManager = NCP.CreateRandomString(12); NCP.NotificatioTitleTxt.SendKeys(notificationTitleAdmin); NCP.NotificationBodyTxt.SendKeys(NCP.CreateRandomString(38)); DNP = NCP.ClickToAdvance(NCP.SaveExitBtn); /// 6.Navigating Institutions Page GCEP = DNP.ClickToAdvance(DNP.GMECompetencyEducationProgramLnk); InstitutionsPage INS = GCEP.ClickToAdvance(GCEP.InstitutionManagLnk); /// 7.Searching for institution and navigating Institution GCEP. InstitutionsGCEPPage INSGCEP = INS.SearchforInstitutions("Arrowhead Regional Medical Center"); if (BrowserName == BrowserNames.InternetExplorer) { Browser.WaitForElement(Bys.AMAPage.GCEPNotificationsBtn, TimeSpan.FromSeconds(90), ElementCriteria.IsVisible, ElementCriteria.IsEnabled); //Thread.Sleep(5000); } /// 8.If notofications are displayed verify our last created is displayed with (title name is verification) if not displayed click notifications chevron and verify notification is there. if (!INSGCEP.NotificationTitlesLbl.Displayed) { INSGCEP.GCEPNotificationsBtn.Click(); } Assert.True(INSGCEP.VerifyNotificationTitle(INSGCEP.NotificationTitlesLbl, notificationTitleAdmin)); /// 9.From Institution GCEP Page navigating Program management page searching for program and navigating program manager GCEP page. ProgramsPage ProgP = INSGCEP.ClickToAdvance(INSGCEP.InstitutionProgramManagmentLnk); ProgP.SearchforProgram("ARMC Faculty"); /// 10.If notofications are displayed verify our last created is displayed with (title name is verification) if not displayed click notifications chevron and verify notification is there if (!GCEP.NotificationTitlesLbl.Displayed) { GCEP.GCEPNotificationsBtn.Click(); } Assert.True(INSGCEP.VerifyNotificationTitle(INSGCEP.NotificationTitlesLbl, notificationTitleAdmin)); /// 11.navigating GCEP page Clicking dashboard notification links. GCEP.GMECompetencyEducationProgramLnk.Click(); GCEP.WaitForInitialize(); if (BrowserName == BrowserNames.InternetExplorer) { Browser.WaitForElement(Bys.GCEPPage.DashboardNotificationManageLnk, TimeSpan.FromSeconds(90), ElementCriteria.IsVisible, ElementCriteria.IsEnabled); } /// 12.Entering dashboard notification page searching for notifications created above and deleting them. DNP = GCEP.ClickToAdvance(GCEP.DashboardNotificationManageLnk); DNP.Search(notificationNameforAdmin); DNP.DeleteNotification(); }