/// <summary> /// Enters text in the username and password field, clicks the login button, then waits for the URL /// of the Dashboard page to load /// </summary> /// <param name="role">Either "learner", "observer", "program admin", etc.</param> /// <param name="userName"></param> /// <param name="password"></param> public dynamic LoginAsExistingUser(UserUtils.UserRole role, string userName, string password) { // Login with a valid user UserNameTxt.Clear(); PasswordTxt.Clear(); UserNameTxt.SendKeys(userName); PasswordTxt.SendKeys(password); PasswordTxt.SendKeys(Keys.Tab); ClickAndWait(LoginBtn); switch (role) { case UserUtils.UserRole.LR: CBDLearnerPage LP = new CBDLearnerPage(Browser); LP.WaitForInitialize(); // Adding these if statements here because sometimes the graph doesnt appear after we login. It only happens about 5 percent of the time, // so DEV is not looking into it. So if the graph does not appear, then we will navigate to the already loaded page again // UPDATE: Added another if statement to refresh again. This was working perfectly before today (Today I increased the amount of parallel // tests, and also started running Firefox again, so the issue is either with Firefox, or with increasing the max parallel setting. The max // is set at 16 now, this never was an issue when max was set to 6) if (Browser.FindElements(By.Id("EPAChart")).Count == 0) { Browser.WaitForElement(Bys.RCPPage.CBDTab, ElementCriteria.IsVisible); ClickAndWaitBasePage(CBDTab); try { LP.WaitUntil(TimeSpan.FromSeconds(60), Criteria.CBDLearnerPage.EPAChartVisibleAndEnabledAndHasText); } catch { if (Browser.FindElements(By.Id("EPAChart")).Count == 0) { Browser.WaitForElement(Bys.RCPPage.CBDTab, ElementCriteria.IsVisible); ClickAndWaitBasePage(CBDTab); LP.WaitUntil(TimeSpan.FromSeconds(60), Criteria.CBDLearnerPage.EPAChartVisibleAndEnabledAndHasText); } } } return(LP); case UserUtils.UserRole.OB: CBDObserverPage OP = new CBDObserverPage(Browser); OP.WaitForInitialize(); return(OP); case UserUtils.UserRole.PA: CBDProgAdminPage PA = new CBDProgAdminPage(Browser); PA.WaitForInitialize(); return(PA); case UserUtils.UserRole.PD: CBDProgDirectorPage PD = new CBDProgDirectorPage(Browser); PD.WaitForInitialize(); return(PD); case UserUtils.UserRole.PGD: CBDProgDeanPage page = new CBDProgDeanPage(Browser); page.WaitForInitialize(); return(page); case UserUtils.UserRole.CUPER: MyDashboardPage PERCUMyDashboardPage = new MyDashboardPage(Browser); PERCUMyDashboardPage.WaitForInitialize(); PERCredentialStaffPage CP = PERCUMyDashboardPage.ClickAndWaitBasePage(PERCUMyDashboardPage.PERAFCTab); return(CP); case UserUtils.UserRole.CSDiploma: DiplomaClinicalSupervisorPage CSP = new DiplomaClinicalSupervisorPage(Browser); CSP.WaitForInitialize(); return(CSP); case UserUtils.UserRole.CUDiploma: MyDashboardPage DiplomaCUMyDashboardPage = new MyDashboardPage(Browser); DiplomaCUMyDashboardPage.WaitForInitialize(); DiplomaCredentialStaffPage DCUP = DiplomaCUMyDashboardPage.ClickAndWaitBasePage(DiplomaCUMyDashboardPage.MyDiplomaTab); return(DCUP); case UserUtils.UserRole.DDDiploma: DiplomaDirectorPage DD = new DiplomaDirectorPage(Browser); DD.WaitForInitialize(); return(DD); case UserUtils.UserRole.FOMDiploma: DiplomaFacOfMedicinePage FOMP = new DiplomaFacOfMedicinePage(Browser); FOMP.WaitForInitialize(); return(FOMP); case UserUtils.UserRole.MP: MyDashboardPage DP = new MyDashboardPage(Browser); DP.WaitForInitialize(); return(DP); case UserUtils.UserRole.TraineePER: PERTraineePage PTP = new PERTraineePage(Browser); PTP.WaitForInitialize(); return(PTP); case UserUtils.UserRole.TraineeDiploma: DiplomaTraineePage DTP = new DiplomaTraineePage(Browser); DTP.WaitForInitialize(); return(DTP); case UserUtils.UserRole.REF: PERRefereePage PERRP = new PERRefereePage(Browser); PERRP.WaitForInitialize(); return(PERRP); case UserUtils.UserRole.ASRPER: PERAssessorPage AP = new PERAssessorPage(Browser); AP.WaitForInitialize(); return(AP); case UserUtils.UserRole.ASRDiploma: DiplomaAssessorPage DAP = new DiplomaAssessorPage(Browser); DAP.WaitForInitialize(); return(DAP); } return(null); }
/// <summary> /// Enters text in the username and password field, clicks the login button, then waits for the URL /// of the Dashboard page to load /// </summary> /// <param name="role">Either "learner", "observer", "program admin", etc.</param> /// <param name="userName"></param> /// <param name="password"></param> public dynamic LoginAsExistingUser(UserUtils.UserRole role, string userName, string password) { // Login with a valid user UserNameTxt.Clear(); PasswordTxt.Clear(); UserNameTxt.SendKeys(userName); PasswordTxt.SendKeys(password); PasswordTxt.SendKeys(Keys.Tab); ClickAndWait(LoginBtn); switch (role) { case UserUtils.UserRole.LR: CBDLearnerPage LP = new CBDLearnerPage(Browser); LP.WaitForInitialize(); // Adding this if statements here because sometimes the graph doesnt appear after we login. It only happens about 5 percent of the time, // so DEV is not looking into it. So if the graph does not appear, then we will navigate to the already loaded page again if (Browser.FindElements(By.Id("EPAChart")).Count == 0) { Navigation.GoToLearnerPage(Browser); LP.WaitUntil(TimeSpan.FromSeconds(30), Criteria.CBDLearnerPage.EPAChartVisibleAndEnabledAndHasText); } return(LP); case UserUtils.UserRole.OB: CBDObserverPage OP = new CBDObserverPage(Browser); OP.WaitForInitialize(); return(OP); case UserUtils.UserRole.PA: CBDProgAdminPage PA = new CBDProgAdminPage(Browser); PA.WaitForInitialize(); return(PA); case UserUtils.UserRole.PD: CBDProgDirectorPage PD = new CBDProgDirectorPage(Browser); PD.WaitForInitialize(); return(PD); case UserUtils.UserRole.PGD: CBDProgDeanPage page = new CBDProgDeanPage(Browser); page.WaitForInitialize(); return(page); case UserUtils.UserRole.CUPER: MyDashboardPage PERCUMyDashboardPage = new MyDashboardPage(Browser); PERCUMyDashboardPage.WaitForInitialize(); PERCredentialStaffPage CP = PERCUMyDashboardPage.ClickAndWaitBasePage(PERCUMyDashboardPage.PERAFCTab); return(CP); case UserUtils.UserRole.CSDiploma: DiplomaClinicalSupervisorPage CSP = new DiplomaClinicalSupervisorPage(Browser); CSP.WaitForInitialize(); return(CSP); case UserUtils.UserRole.CUDiploma: MyDashboardPage DiplomaCUMyDashboardPage = new MyDashboardPage(Browser); DiplomaCUMyDashboardPage.WaitForInitialize(); DiplomaCredentialStaffPage DCUP = DiplomaCUMyDashboardPage.ClickAndWaitBasePage(DiplomaCUMyDashboardPage.MyDiplomaTab); return(DCUP); case UserUtils.UserRole.DDDiploma: DiplomaDirectorPage DD = new DiplomaDirectorPage(Browser); DD.WaitForInitialize(); return(DD); case UserUtils.UserRole.FOMDiploma: DiplomaFacOfMedicinePage FOMP = new DiplomaFacOfMedicinePage(Browser); FOMP.WaitForInitialize(); return(FOMP); case UserUtils.UserRole.MP: MyDashboardPage DP = new MyDashboardPage(Browser); DP.WaitForInitialize(); return(DP); case UserUtils.UserRole.TraineePER: PERTraineePage PTP = new PERTraineePage(Browser); PTP.WaitForInitialize(); return(PTP); case UserUtils.UserRole.TraineeDiploma: DiplomaTraineePage DTP = new DiplomaTraineePage(Browser); DTP.WaitForInitialize(); return(DTP); case UserUtils.UserRole.REF: PERRefereePage PERRP = new PERRefereePage(Browser); PERRP.WaitForInitialize(); return(PERRP); case UserUtils.UserRole.ASRPER: PERAssessorPage AP = new PERAssessorPage(Browser); AP.WaitForInitialize(); return(AP); case UserUtils.UserRole.ASRDiploma: DiplomaAssessorPage DAP = new DiplomaAssessorPage(Browser); DAP.WaitForInitialize(); return(DAP); } return(null); }