public void TeacherFit_Displayed_for_New_Applicant() { // page objects var landingPage = new DefaultLandingPage(Driver); var applicantPages = new ApplicantPages(Driver); // workflows var applicationWorkflows = new ApplicationWorkflows(Driver, test); // applicant data var applicantData = new ApplicantGenerator(); try { // create new applicant landingPage.ClickExternalLogin(); test.Log(LogStatus.Pass, "Click 'External Login'"); Driver.SwitchToPopup(); applicantPages.ClickEmploymentApplicationTab(); test.Log(LogStatus.Pass, "Click the 'Employment Application' tab"); applicationWorkflows.FillOutPersonalInfo(applicantData); applicantPages.EmploymentApplicationPages.ClickNextPage(); test.Log(LogStatus.Pass, "Click 'Next Page'"); applicantPages.EmploymentApplicationPages.ClickVacancyDesired(); test.Log(LogStatus.Pass, "Click 'Vacancy Desired'"); applicantPages.EmploymentApplicationPages.VacancyDesiredPage.SelectVacancy(vacancyDesired); test.Log(LogStatus.Pass, "Select job: " + vacancyDesired); applicantPages.EmploymentApplicationPages.ClickSaveAsDraft(); test.Log(LogStatus.Pass, "Click 'Save as Draft'"); // navigate to Teacher Fit applicantPages.EmploymentApplicationPages.ClickTeacherFit(); test.Log(LogStatus.Pass, "Click 'TeacherFit'"); // Assert that the page is displayed Assert.IsTrue(applicantPages.EmploymentApplicationPages.FitPages.IsDisplayed(), "The Teacher Fit starting page is not displayed"); test.Log(LogStatus.Pass, "The teacher fit starting page is displayed"); } catch (Exception e) { HandleException(e, Driver); throw; } }
[Ignore] // timeouts causing test to fail on QA2 public void LandingPage_Check_For_Broken_Links() { Console.WriteLine("WindowHandle at Start: " + Driver.GetHashCode().ToString()); var landingPage = new DefaultLandingPage(Driver); try //Contains Contents of Test { landingPage.CheckForBrokenLinks(); test.Log(LogStatus.Pass, "Checked for broken links"); } catch (Exception e) //On Error Do { HandleException(e, Driver); throw; } }
public void LandingPage_Start_As_Internal_Applicant() { Console.WriteLine("WindowHandle at Start: " + Driver.GetHashCode().ToString()); var landingPage = new DefaultLandingPage(Driver); var applicantPages = new ApplicantPages(Driver); try //Contains Contents of Test { landingPage.ClickInternalLogin(); test.Log(LogStatus.Pass, "Click Internal Login"); applicantPages.SwitchWindows(); Driver.SwitchToFrameById("HomeDataPage"); applicantPages.ClickStart(); test.Log(LogStatus.Pass, "Clicking Start"); } catch (Exception e) //On Error Do { HandleException(e, Driver); throw; } }
public void TeacherFit_New_Applicant() { // page objects var landingPage = new DefaultLandingPage(Driver); var applicantPages = new ApplicantPages(Driver); // workflows var applicationWorkflows = new ApplicationWorkflows(Driver, test); // data var applicantData = new ApplicantGenerator(); var vacancyDesired = 1171; try { // create new applicant landingPage.ClickExternalLogin(); test.Log(LogStatus.Pass, "Click 'External Login'"); Driver.SwitchToPopup(); applicantPages.ClickEmploymentApplicationTab(); test.Log(LogStatus.Pass, "Click the 'Employment Application' tab"); applicationWorkflows.FillOutPersonalInfo(applicantData); applicantPages.EmploymentApplicationPages.ClickNextPage(); test.Log(LogStatus.Pass, "Click 'Next Page'"); applicantPages.EmploymentApplicationPages.ClickVacancyDesired(); test.Log(LogStatus.Pass, "Click 'Vacancy Desired'"); applicantPages.EmploymentApplicationPages.VacancyDesiredPage.SelectVacancy(vacancyDesired); test.Log(LogStatus.Pass, "Select vacancy: " + vacancyDesired); applicantPages.EmploymentApplicationPages.ClickSaveAsDraft(); test.Log(LogStatus.Pass, "Click 'Save As Draft'"); // take teacherfit applicantPages.EmploymentApplicationPages.ClickTeacherFit(); test.Log(LogStatus.Pass, "Click 'TeacherFit'"); Assert.IsTrue(applicantPages.EmploymentApplicationPages.FitPages.IsDisplayed(), "The Teacher Fit starting page is not displayed"); test.Log(LogStatus.Pass, "The teacher fit starting page is displayed"); applicationWorkflows.CompleteFitAssessment(); // assert that the assessment has been completed Assert.IsTrue(applicantPages.EmploymentApplicationPages.FitPages.AssessmentCompleted(), "The fit assessment has not been completed"); test.Log(LogStatus.Pass, "The fit assessment has been completed successfully"); // submit the application applicantPages.EmploymentApplicationPages.ClickFinishAndSubmit(); test.Log(LogStatus.Pass, "Click 'Finish and Submit'"); // assert that the screen does not indicate that the teacherfit assessment needs to be completed Assert.IsTrue(applicantPages.EmploymentApplicationPages.ConfirmationPage.StepIsCompleted("TeacherFit"), "The confirmation page indicates the TeacherFit assessment was not completed"); test.Log(LogStatus.Pass, "The confirmation page indicates that the TeacherFit assessment was completed"); } catch (Exception e) { HandleException(e, Driver); throw; } }
public void Applicant_Send_Email() { // pages var applicantProfilePage = new ApplicantProfilePages(_driver); var applicantMenu = new ApplicantAdminMenu(_driver); var email = new EmailPage(_driver); var landingPage = new DefaultLandingPage(_driver); var applicantPages = new ApplicantPages(_driver); // workflows var searchWorkflows = new SearchWorkflows(_driver); var applicationWorkflows = new ApplicationWorkflows(_driver, test); // test data var applicantData = new ApplicantGenerator(); var emailBody = Faker.TextFaker.Sentence(); try { // create applicant BrowseTo(BaseUrls["ApplitrackLandingPage"], _driver); landingPage.ClickExternalLogin(); _driver.SwitchToPopup(); applicantPages.ClickEmploymentApplicationTab(); applicationWorkflows.FillOutPersonalInfo(applicantData); applicantPages.EmploymentApplicationPages.ClickNextPage(); applicantPages.EmploymentApplicationPages.ClickPostalAddress(); applicationWorkflows.FillOutPermanentAddress(applicantData.Address); _driver.SwitchToDefaultFrame(); _driver.SwitchToFrameById("AppDataPage"); applicantData.AppNo = applicantPages.EmploymentApplicationPages.GetAppNo(); test.Log(LogStatus.Info, "AppNo is: " + applicantData.AppNo); _driver.SwitchToDefaultFrame(); applicantPages.EmploymentApplicationPages.ClickSaveAsDraft(); _driver.ClosePopup(); // login BrowseTo(BaseUrls["ApplitrackLoginPage"], _driver); test.Log(LogStatus.Info, "Starting test at URL: " + BaseUrls["ApplitrackLoginPage"]); var loginWorkflow = new LoginWorkflows(_driver); loginWorkflow.LoginAsSuperUser(); // Open the applicant page BrowseTo($"{_driver.Url}?AppNo={applicantData.AppNo}", _driver); _driver.SwitchToFrameById("App" + applicantData.AppNo); // Click the Email button applicantProfilePage.Toolbar.ClickEmailButton(); test.Log(LogStatus.Pass, "Click the Email button"); // Send the email _driver.SwitchToPopup(); _driver.SwitchToFrameByClass("cke_wysiwyg_frame"); email.EnterEmailBody(emailBody); _driver.SwitchToDefaultFrame(); email.ClickSendMessageButton(); test.Log(LogStatus.Pass, "Click the Send Message button"); // Assert that the email address is displayed on the page Assert.IsTrue(email.IsEmailAddressDisplayed(applicantData.Email), "Expected email: " + applicantData.Email + " is not on the screen"); test.Log(LogStatus.Pass, "The email address: " + applicantData.Email + " appears on the page"); _driver.ClosePopup(); _driver.SwitchToDefaultFrame(); _driver.SwitchToFrameById("App" + applicantData.AppNo); applicantMenu.ClickCommuncationLog(); _driver.SwitchToFrameById("MainContentsIFrame"); Assert.IsTrue(applicantProfilePage.CommunicationLogPage.IsCommunicationDisplayed(emailBody), "Email is not displayed on the Communication Log page"); test.Log(LogStatus.Pass, "Email is displayed on the Communication Log page"); } catch (Exception e) { HandleException(e, _driver); throw; } }
public void TestSetup() { // extent reports setup _test = ExtentTestManager.StartTest(TestContext.Properties["TestCaseName"].ToString(), TestContext.Properties["TestCaseDescription"].ToString()) .AssignCategory("Smoke"); // browser setup _driver = SetUp(_BT); _driver.Manage().Window.Maximize(); _test.Log(LogStatus.Info, "Begin applicant creation"); // create applicant BrowseTo(BaseUrls["ApplitrackLandingPage"], _driver); _test.Log(LogStatus.Info, "Starting test at URL: " + BaseUrls["ApplitrackLandingPage"]); var landingPage = new DefaultLandingPage(_driver); var applicantPages = new ApplicantPages(_driver); var applicationWorkflows = new ApplicationWorkflows(_driver, _test); var applicantProfile = new ApplicantProfilePages(_driver); var hireWizard = new HireWizardPage(_driver); _applicantData = new ApplicantGenerator(); landingPage.ClickExternalLogin(); _driver.SwitchToPopup(); applicantPages.ClickEmploymentApplicationTab(); applicationWorkflows.FillOutPersonalInfo(_applicantData); applicantPages.EmploymentApplicationPages.ClickNextPage(); applicantPages.EmploymentApplicationPages.ClickPostalAddress(); applicationWorkflows.FillOutPermanentAddress(_applicantData.Address); _driver.SwitchToDefaultFrame(); _driver.SwitchToFrameById("AppDataPage"); _applicantData.AppNo = applicantPages.EmploymentApplicationPages.GetAppNo(); _test.Log(LogStatus.Info, "AppNo is: " + _applicantData.AppNo); _driver.SwitchToDefaultFrame(); applicantPages.EmploymentApplicationPages.ClickSaveAsDraft(); _driver.ClosePopup(); _isApplicantCreated = true; // login to admin BrowseTo(BaseUrls["ApplitrackLoginPage"], _driver); _test.Log(LogStatus.Info, "Logging into system at URL: " + BaseUrls["ApplitrackLoginPage"]); var loginWorkflow = new LoginWorkflows(_driver); loginWorkflow.LoginAsSuperUser(); // Navigate to the Notes page because selenium has trouble interacting with the window BrowseTo(BaseUrls["ApplitrackLoginPage"] + @"/onlineapp/admin/Action-LeaveNote.aspx?AppNo=" + _applicantData.AppNo + @"&HideSaveAndClose=1", _driver); // Hire the applicant applicantProfile.ApplicantNotesPages.ApplicantNotesTab.SelectHiredYes(); _test.Log(LogStatus.Info, "Select 'Yes' for hired."); applicantProfile.ApplicantNotesPages.ApplicantNotesTab.ClickSave(); _test.Log(LogStatus.Info, "Click 'Save'"); hireWizard.ClickNext(); _test.Log(LogStatus.Info, "Click 'Next'"); // Select 'No' for Aesop if (FeatureFlags.ThirdParty.Aesop.Enabled) { hireWizard.SelectNo(); _test.Log(LogStatus.Info, "Select 'No' for Aesop"); hireWizard.ClickNext(); _test.Log(LogStatus.Info, "Click 'Next'"); } // Select 'No' for HR Files if (FeatureFlags.Employees.UsesEmployees) { hireWizard.SelectNo(); _test.Log(LogStatus.Info, "Select 'No' for HR Files"); hireWizard.ClickNext(); _test.Log(LogStatus.Info, "Click 'Next'"); } // Select 'Yes' for FC hireWizard.SelectYes(); _test.Log(LogStatus.Info, "Select 'Yes' for FC"); hireWizard.ClickNext(); _test.Log(LogStatus.Info, "Click 'Next'"); }