/// <summary> /// Read the notification message header text /// </summary> /// <returns></returns> private string readAndReturnNotificationMessageText() { string message = BaseSeleniumComponents.WaitForAndGet(DataExchangeElement.NotificationAlert).FindChild(By.CssSelector("span[class=\"search-result h1-result\"]")).Text; WebContext.Screenshot(); return(message); }
public static void UpdateValue(string css, object value) { if (css.Contains("dropdownImitator")) { SeleniumHelperObsolete.FindAndSetValueForSelector(css, value.ToString()); } else { var x = BaseSeleniumComponents.WaitForAndGet(new TimeSpan(0, 0, 0, 5), By.CssSelector(css)); if (x.Displayed) { SeleniumHelperObsolete.FindAndSetValue(css, value.ToString()); } else { if (x.GetAttribute("data-tristate-checkbox-value") != null) { var c = WebContext.WebDriver.FindElement( By.CssSelector(string.Format("#{0}", x.GetAttribute("name")))); c.Click(); } } } }
public static void FindAndSetValueForSelector(string css, string value, bool hasDefault = false) { FindAndClick(css); const string selectorSearchBox = "[id*=s2id_autogen][id$=_search]"; BaseSeleniumComponents.WaitForAndSetValue(BrowserDefaults.TimeOut, By.CssSelector(selectorSearchBox), value, hasDefault); }
/// <summary> /// Navigate to Detail Reports /// </summary> public void NavigateToDetailReportsDeni() { BaseSeleniumComponents.WaitUntilDisplayed(BrowserDefaults.TimeOut, DataExchangeElement.DetailReportsButton); SeleniumHelper.WaitForElementClickableThenClick(DataExchangeElement.DetailReportsButton); BaseSeleniumComponents.WaitUntilDisplayed(BrowserDefaults.TimeOut, DataExchangeElement.IssuesAndQueriesReport); SeleniumHelper.WaitForElementClickableThenClick(DataExchangeElement.IssuesAndQueriesReport); WebContext.Screenshot(); }
public bool SelectAgentRecordFromSearch(string fname, string lname) { searchVal.SendKeys(fname + " " + lname); searchButton.Click(); BaseSeleniumComponents.WaitUntilDisplayed(By.CssSelector("[data-automation-id='resultTile']")); IWebElement searchRecord = WebContext.WebDriver.FindElement(By.CssSelector("[data-automation-id='resultTile']")); searchRecord.Click(); return(true); }
public ViewDistribution ClickViewDistribution(int columnNumber) { IWebElement sortlink = WebContext.WebDriver.FindElement(By.CssSelector("td[column=\"" + columnNumber.ToString() + "\"] > div > i[data-grid-id='marksheetGrid']")); string columnId = sortlink.GetAttribute("data-sort-asc-indicator"); var columnDetailsDiv = BaseSeleniumComponents.WaitForAndGet(BrowserDefaults.TimeOut, By.CssSelector("[data-menu-column-id=\"" + columnId + "\"]")); _distributionGraphPopover.Click(); return(new ViewDistribution()); }
public void SetApplicationToAdmitted() { var loc = By.Name("LearnerApplication.ApplicationStatusSelector.dropdownImitator"); BaseSeleniumComponents.WaitForAndGet(loc).ChooseSelectorOption("Admitted"); Thread.Sleep(1000); SeleniumHelper.Get(By.CssSelector(SeleniumHelper.AutomationId("well_know_action_save"))).Click(); Thread.Sleep(5000); SeleniumHelper.Get(By.CssSelector(SeleniumHelper.AutomationId("save_&_continue_button"))).Click(); Thread.Sleep(5000); }
//Method to validate error message thrown when template is saved with blank template name public bool IsTemplateNameMandatory() { BaseSeleniumComponents.WaitUntilDisplayed(By.Name("NameOfTemplate")); templateName.Clear(); Thread.Sleep(500); saveTemplate.Click(); BaseSeleniumComponents.WaitUntilDisplayed(By.CssSelector("[data-automation-id='status_error']")); bool returnVal = statusError.Displayed; //TemplateSearchScreen.closeManageMsgTab(manageMsgCloseTab, manageMsgWarningDontSave); return(returnVal); }
public bool DialogDisappeared() { addNewAgentButton.Click(); BaseSeleniumComponents.WaitUntilDisplayed(AgentElements.MainScreen.AgentForename); BaseSeleniumComponents.WaitUntilDisplayed(By.CssSelector("[data-automation-id='cancel_button']")); POM.Helper.SeleniumHelper.ClickByJS(cancelButton); Thread.Sleep(2000); IReadOnlyCollection <IWebElement> list = WebContext.WebDriver.FindElements(By.Name("LegalForename")); bool val = (list.Count == 0); return(val); }
public void CheckValidationOnKeepingSurNameForeNameEmpty() { AgentSearchScreen ScreenObject = AgentScreenNavigation.NavigateToAgentMenuPage(); AddNewAgentDialog dialogObj = ScreenObject.ClickAddNewAgent(); BaseSeleniumComponents.WaitUntilDisplayed(AgentElements.MainScreen.AgentForename); Assert.True(ScreenObject.CheckValidation("", "") && // for empty forename and surname. ScreenObject.CheckValidation("p", "") && // for empty surname. ScreenObject.CheckValidation("", "P") && // for empty forename Int32.Parse(dialogObj.AgentForeName.GetAttribute("maxlength")) == 100 && // For forename maxlength Int32.Parse(dialogObj.AgentSurName.GetAttribute("maxlength")) == 100); // For surname maxlength }
public bool CheckValidation(string foreName, string surName) { if (foreName == "" && surName != "") { AgentForeName.Clear(); AgentSurName.SendKeys(surName); } else if (surName == "" && foreName != "") { AgentSurName.Clear(); AgentForeName.SendKeys(foreName); } else if (foreName == "" && surName == "") { AgentForeName.Clear(); AgentSurName.Clear(); Thread.Sleep(1000); continuebutton.Click(); BaseSeleniumComponents.WaitUntilDisplayed(By.CssSelector("[data-automation-id='status_error']")); return(validationmessage.Displayed); } else if (foreName != "" && surName != "") { AgentForeName.SendKeys(foreName); AgentSurName.SendKeys(surName); } else { return(false); } continuebutton.Click(); Thread.Sleep(1000); string val = onevalidationmessage.GetAttribute("textContent"); if (val.Contains("The Surname field is required.")) { return(true); } else if (val.Contains("The Forename field is required")) { return(true); } else { return(false); } }
public bool DeleteAgentRecord() { try { BaseSeleniumComponents.WaitUntilDisplayed(By.CssSelector("[data-automation-id='delete_button']")); deleteAgentButton.Click(); BaseSeleniumComponents.WaitUntilDisplayed(By.CssSelector("[data-automation-id='continue_with_delete_button']")); //Thread.Sleep(500); deleteAgentContinueButton.Click(); return(true); } catch (Exception) { return(false); } }
public AgentSearchScreen SelectAgentService() { Thread.Sleep(1000); BaseSeleniumComponents.WaitUntilDisplayed(AgentElements.ServicesProvidedScreen.CheckBoxAudiometrist); Actions action = new Actions(WebContext.WebDriver); action.MoveToElement(CheckBoxAudiometrist); action.SendKeys(Keys.Space); action.Build().Perform(); //CheckBoxAudiometrist.Click(); Thread.Sleep(500); CreateRecordButton.Click(); Wait.WaitForAjaxReady(By.CssSelector(".locking-mask-loading")); return(new AgentSearchScreen()); }
//Method to delete template opened in maintenance mode public string DeleteTemplate(string tName, bool includeInvisible = false) { string str = this.CheckResultsInTemplateSearch(tName, includeInvisible); IWebElement resultTile = WebContext.WebDriver.FindElement(By.CssSelector("[data-automation-id='resultTile']")); SeleniumHelper.ClickByJS(resultTile); BaseSeleniumComponents.WaitUntilDisplayed(By.CssSelector("[data-automation-id='delete_button']")); SeleniumHelper.ClickByJS(deleteButton); BaseSeleniumComponents.WaitUntilDisplayed(By.CssSelector("[data-automation-id='continue_with_delete_button']")); SeleniumHelper.ClickByJS(continueWithDeleteButton); Wait.WaitForAjaxReady(By.CssSelector(".locking-mask-loading")); //Search the same template to check successful deletion return(this.CheckResultsInTemplateSearch(tName, includeInvisible)); }
/// <summary> /// Create DENI /// </summary> public void CreateDENIReturn() { SearchDENI(); if (SearchResults.HasResults() && SearchResults.GetSearchResults().Count > 0) { SearchResults.SelectSearchResult(0); return; } BaseSeleniumComponents.WaitUntilDisplayed(DataExchangeElement.CreateButton); SeleniumHelper.WaitForElementClickableThenClick(DataExchangeElement.CreateButton); IWebElement dialogSelector = SeleniumHelper.Get(DataExchangeElement.DialogSelector); BaseSeleniumComponents.WaitUntilDisplayed(DataExchangeElement.VersionSelector); dialogSelector.ChooseSelectorOption(DataExchangeElement.VersionSelector, DataExchangeElement.DENIVersion); SeleniumHelper.WaitForElementClickableThenClick(DataExchangeElement.CreateReturnOkButton); Thread.Sleep(1000); SearchDENI(); }
public void DeleteSchoolIntake(string schoolIntakeId, string admissionYear) { NavgateToSchoolIntakeDirectly(); Thread.Sleep(1000); var loc = By.CssSelector("form[data-section-id='searchCriteria'] [name='YearOfAdmission.dropdownImitator']"); BaseSeleniumComponents.WaitForAndGet(loc).ChooseSelectorOption(admissionYear); Thread.Sleep(1000); SearchCriteria.Search(); SearchResults.WaitForResults(); Thread.Sleep(1000); SearchResults.Click(schoolIntakeId); Thread.Sleep(2000); SeleniumHelper.Get(By.CssSelector("[data-ajax-url*='/iSIMSMVCClientFarm1/School/SchoolIntakeMaintenance/ConfirmDeleteDetail']")).Click(); Thread.Sleep(2000); SeleniumHelper.Get(By.CssSelector(SeleniumHelper.AutomationId("continue_with_delete_button"))).Click(); Thread.Sleep(2000); }
//Method to check whether Template Name text field is accessbile public bool IsTemplateNameAccessible() { if (new TemplateSearchScreen().IsCreateNewTemplateDisplayed()) { Thread.Sleep(200); createNewTemplate.Click(); BaseSeleniumComponents.WaitUntilDisplayed(By.Name("NameOfTemplate")); String randomName = TemplateSearchScreen.RandomString(5); templateName.SendKeys(randomName); bool returnVal = templateName.GetAttribute("value") == randomName; //TemplateSearchScreen.closeManageMsgTab(manageMsgCloseTab, manageMsgWarningDontSave); return(returnVal); } else { return(false); } }
/// <summary> /// Delete pupil /// </summary> /// <param name="pupilID"></param> public static void DeletePupil(List <Guid> pupilIDs) { SeleniumHelper.NavigateMenu("Tasks", "Pupils", "Delete Pupil"); WebContext.Screenshot(); SeleniumHelper.FindAndClick(DataExchangeElement.PupilRecordLeaverCheckBox); SearchCriteria.Search(); WebContext.Screenshot(); foreach (Guid pupilID in pupilIDs) { SeleniumHelper.FindAndClick(DataExchangeElement.DeletePupilResult(TestDefaults.Default.Path, pupilID.ToString())); WebContext.Screenshot(); SeleniumHelper.FindAndClick(DataExchangeElement.PupilDeleteButton); WebContext.Screenshot(); BaseSeleniumComponents.WaitForAndClick(BrowserDefaults.TimeOut, DataExchangeElement.PupilConfirmationButton); } //SeleniumHelper.FindAndClick(DataExchangeElement.CloseTabButton); //WebContext.Screenshot(); }
public string CreateNewApplication(string forename, string surname, string gender, string dateOfBirth, string admissionGroup) { SeleniumHelper.Get(By.CssSelector("a[title=\"Add New Application\"] > span.toolbar-text")).Click(); Thread.Sleep(2000); SeleniumHelper.Get(By.Name("LegalForename")).Clear(); SeleniumHelper.Get(By.Name("LegalForename")).SendKeys(forename); SeleniumHelper.Get(By.Name("LegalSurname")).Clear(); SeleniumHelper.Get(By.Name("LegalSurname")).SendKeys(surname); By loc = By.Name("Gender.dropdownImitator"); BaseSeleniumComponents.WaitForAndGet(loc); SeleniumHelper.Get(loc).ChooseSelectorOption(gender); SeleniumHelper.Get(By.Name("DateOfBirth")).Clear(); SeleniumHelper.Get(By.Name("DateOfBirth")).SendKeys(dateOfBirth); SeleniumHelper.Get(By.CssSelector(SeleniumHelper.AutomationId("continue_button"))).Click(); Thread.Sleep(1000); loc = By.CssSelector("div[data-section-id='dialog-detail'] [name='AdmissionGroup.dropdownImitator']"); BaseSeleniumComponents.WaitForAndGet(loc).ChooseSelectorOption(admissionGroup); loc = By.Name("EnrolmentStatus.dropdownImitator"); BaseSeleniumComponents.WaitForAndGet(loc).ChooseSelectorOption("Single Registration"); SeleniumHelper.Get(By.CssSelector(SeleniumHelper.AutomationId("create_record_button"))).Click(); Thread.Sleep(5000); var afterSpliItems = SeleniumHelper.Get(By.CssSelector(SeleniumHelper.AutomationId("well_know_action_save"))) .GetAttribute("data-ajax-url") .Split('/') .ToList(); string learner_id = afterSpliItems.LastOrDefault(); return(learner_id); }
public static void FindAndSetCheckBox(string css, bool @checked) { var element = BaseSeleniumComponents.WaitForAndGet(BrowserDefaults.TimeOut, By.CssSelector(css)); var checkedValue = element.GetAttribute("checked"); if (@checked) { //Assuming NULL means unchecked. if (checkedValue == null) { element.Click(); } } else { //Assuming !NULL means checked. if (checkedValue != null) { element.Click(); } } }
public void ValUniqueTemplateNameAndPurpose() { //TemplateSearchScreen ScreenObj = TemplateScreenNavigation.NavigateToTemplateMenuPage(); String[] featureList = { "SendMessage", "ManageTemplate" }; TemplateSearchScreen ScreenObj = TemplateScreenNavigation.NavigateToTemplateMenuPageFeatureBee(featureList); //Create a new template first. string tName = "ValU" + TemplateSearchScreen.RandomString(5); ScreenObj.CreateMessageTemplate(tName, "General"); //Try and make new template with same name. TemplateScreenNavigation.CloseManageMessageTemplateTab(); TemplateScreenNavigation.NavigateToTemplateMenuPage(false); bool assertVal = ScreenObj.CreateMessageTemplate(tName, "General"); POM.Helper.SeleniumHelper.ClickByJS(ScreenObj.cancelTemplate); BaseSeleniumComponents.WaitUntilDisplayed(By.CssSelector(POM.Helper.SeleniumHelper.AutomationId("ignore_commit_dialog"))); System.Threading.Thread.Sleep(2000); POM.Helper.SeleniumHelper.ClickByJS(ScreenObj.cancelTemplateDontSave); ScreenObj.DeleteTemplate(tName); Assert.False(assertVal); }
public string CreateNewSchoolIntake(string admissionYear, string admissionTerm, string yearGroup, string plannedAdmissions, string schoolIntakeName, string admissionGroupName, string dateOfAdmission, string capacity) { // Intake Group Thread.Sleep(1000); SeleniumHelper.Get(By.CssSelector(SeleniumHelper.AutomationId("add_button"))).Click(); Thread.Sleep(1000); var loc = By.CssSelector("div[data-section-id='IntakeDetailsDependenciesSection'] [name='YearOfAdmission.dropdownImitator']"); BaseSeleniumComponents.WaitForAndGet(loc).ChooseSelectorOption(admissionYear); Thread.Sleep(1000); loc = By.Name("AdmissionTerm.dropdownImitator"); BaseSeleniumComponents.WaitForAndGet(loc).ChooseSelectorOption(admissionTerm); Thread.Sleep(1000); loc = By.CssSelector("div[data-section-id='IntakeDetailsDependenciesSection'] [name='YearGroup.dropdownImitator']"); BaseSeleniumComponents.WaitForAndGet(loc).ChooseSelectorOption(yearGroup); Thread.Sleep(1000); var plannedAdmissionNumber = SeleniumHelper.Get(By.Name("PlannedAdmissionNumber")); plannedAdmissionNumber.Clear(); plannedAdmissionNumber.SendKeys(plannedAdmissions); Thread.Sleep(1000); loc = By.CssSelector("div[data-section-id='IntakeDetailsDependenciesSection'] [name='Name']"); var name = SeleniumHelper.Get(loc); name.Clear(); name.SendKeys(schoolIntakeName); // Admission Group Thread.Sleep(1000); loc = By.CssSelector("input[name$='.Name'"); var admissionGroupGridName = SeleniumHelper.Get(loc); admissionGroupGridName.Clear(); admissionGroupGridName.SendKeys(admissionGroupName); loc = By.CssSelector("input[name$='.DateOfAdmission'"); var admissionGroupGridDateOfAdmission = SeleniumHelper.Get(loc); admissionGroupGridDateOfAdmission.Clear(); admissionGroupGridDateOfAdmission.SendKeys(dateOfAdmission); loc = By.CssSelector("input[name$='.Capacity'"); var admissionGroupGridCapacity = SeleniumHelper.Get(loc); admissionGroupGridCapacity.Clear(); admissionGroupGridCapacity.SendKeys(capacity); Thread.Sleep(1000); SeleniumHelper.Get(By.CssSelector(SeleniumHelper.AutomationId("well_know_action_save"))).Click(); // New confirmation dialog box Thread.Sleep(2000); SeleniumHelper.Get(By.CssSelector(SeleniumHelper.AutomationId("yes,_update_any_associated_applications_button"))) .Click(); var afterSpliItems = SeleniumHelper.Get(By.CssSelector(SeleniumHelper.AutomationId("well_know_action_save"))) .GetAttribute("data-ajax-url") .Split('/') .ToList(); string schoolIntakeId = afterSpliItems.LastOrDefault(); return(schoolIntakeId); }
public void WaitForDialogToAppear() { BaseSeleniumComponents.WaitUntilDisplayed(By.CssSelector(SeleniumHelper.AutomationId(cssforNamePopUp))); }
public void Confirmation() { BaseSeleniumComponents.WaitForAndClick(BrowserDefaults.TimeOut, AttendanceElements.ExceptionalCircumstanceElements.ConfirmationYes); //Wait.WaitForAjaxReady(By.CssSelector(".locking-mask")); }
public bool IsSuccessMessageDisplayed() { BaseSeleniumComponents.WaitUntilEnabled(AgentElements.MainScreen.SuccessMessage); return(SuccessMessage.Displayed); }
public void WaitForStatus() { // Thread.Sleep(2000); BaseSeleniumComponents.WaitUntilDisplayed(new TimeSpan(0, 0, 0, 5), By.CssSelector(SeleniumHelper.AutomationId(StatusSuccess))); }
public MatchingAgentScreen() { BaseSeleniumComponents.WaitUntilDisplayed(AgentElements.MatchingAgentScreen.New_Agent_Button); PageFactory.InitElements(WebContext.WebDriver, this); }
public AddNewAgentDialog() { BaseSeleniumComponents.WaitUntilDisplayed(AgentElements.MainScreen.AgentForename); PageFactory.InitElements(WebContext.WebDriver, this); }
public AddressBookPopup() { BaseSeleniumComponents.WaitUntilDisplayed(By.CssSelector(SeleniumHelper.AutomationId(cssforNamePopUp))); //Parul: Make changes in this as it wont be pupil always PageFactory.InitElements(WebContext.WebDriver, this); }
public void WaitForConfirmationDialogToAppear() { BaseSeleniumComponents.WaitUntilDisplayed(SeleniumHelper.SelectByDataAutomationID("save_continue_commit_dialog")); }