/// <summary>
 /// Select a Strand on Gradeset Pannel
 /// </summary>
 public void SelectStrand(string StrandName)
 {
     SeleniumHelper.ChooseSelectorOption(StrandSelector, StrandName);
 }
Beispiel #2
0
 public bool IsASuccessMessageIsDisplayed()
 {
     return(SeleniumHelper.DoesWebElementExist(_successMessage));
 }
 public void SelectFirstRecord()
 {
     WaitUntilEnabled(DataExchangeElements.Import.SearchBtnEnabled);
     SeleniumHelper.WaitForElementClickableThenClick(DataExchangeElements.Import.FirstRecordSelect);
 }
 /// <summary>
 /// Select a Group on Gradeset Pannel
 /// </summary>
 public void SelectGroup(string GroupName)
 {
     SeleniumHelper.ChooseSelectorOption(GroupSelector, GroupName);
 }
Beispiel #5
0
 /// <summary>
 /// Sets the IsAvailable flag value
 /// </summary>
 /// <param name="active"></param>
 public void SetIsAvailable(bool active)
 {
     SeleniumHelper.Get(General.DataMaintenance).SetCheckBox(MarksheetActive, active);
 }
Beispiel #6
0
        public void Take_Class_Register_And_Verify_Preserve_OverWrite_FloodFill_Functionality(string dateSearch, string pupilForeName, string pupilSurName,
                                                                                              string gender, string dateOfBirth, string DateOfAdmission, string YearGroup, string pupilName)
        {
            #region Pre-Conditions:

            // Navigate to Pupil Record
            DateTime dobSetup             = Convert.ToDateTime(dateOfBirth);
            DateTime dateOfAdmissionSetup = Convert.ToDateTime(DateOfAdmission);

            var learnerIdSetup   = Guid.NewGuid();
            var BuildPupilRecord = this.BuildDataPackage();

            BuildPupilRecord.CreatePupil(learnerIdSetup, pupilSurName, pupilForeName, dobSetup, dateOfAdmissionSetup, YearGroup);

            DataSetup DataSetPupil = new DataSetup(purgeBeforeInsert: false, purgeAfterTest: true, packages: BuildPupilRecord);

            #endregion

            //Login and navigate to Take Register page
            SeleniumHelper.Login(SeleniumHelper.iSIMSUserType.ClassTeacher);
            Wait.WaitForDocumentReady();

            var homePage  = new HomePage();
            var quicklink = homePage.MenuBar();
            quicklink.TakeRegister();

            //Enter Search Criteria
            var takeRegisterTriplet = new TakeRegisterTriplet();
            takeRegisterTriplet.SearchCriteria.StartDate = dateSearch;
            takeRegisterTriplet.SearchCriteria.Week      = true;
            takeRegisterTriplet.SearchCriteria.SelectYearGroup(YearGroup);
            var takeRegisterDetail = takeRegisterTriplet.SearchCriteria.Search <TakeRegisterDetailPage>();

            var takeRegisterTable = takeRegisterDetail.Marks;

            IEnumerable <SchoolAttendanceCode> getANRs = Queries.GetAttendanceNotRequiredCodes();
            List <string> codes = getANRs.Select(x => x.Code).ToList <string>();

            if (codes.Contains(takeRegisterTable[0][1].Text))
            {
                Console.WriteLine("Marks can't be overwritten on Holidays");
                return;
            }

            //Verify the Preserve Mode Functionality
            takeRegisterDetail.ModePreserve = true;

            //Enter Marks using Keyboard and Ensure blank marks can be edited while 'preserve' is enabled.
            var preserveModeMark = takeRegisterDetail.Marks[pupilName][1].Text = "C";
            Assert.AreEqual(preserveModeMark, takeRegisterDetail.Marks[pupilName][1].Value, "Mark is updated when modePreserve is true");

            takeRegisterDetail.ClickSave();

            //Edit saved mark using the code list
            takeRegisterDetail.Marks[pupilName][1].Select();
            takeRegisterDetail.CodeList = "B";

            //VP: Mark can not be changed
            Assert.AreNotEqual("B", takeRegisterDetail.Marks[pupilName][1].Text, "Mark is updated when modePreserve is true");

            //Ensure a selection of cells can't be flood filled for Preserve Mode
            takeRegisterDetail.Marks.Columns[1].TimeIndicatorSelected = "AM";
            takeRegisterDetail.CodeList = "/";
            Assert.AreNotEqual("/", takeRegisterDetail.Marks[pupilName][1].Text, "The selected cells can not be flood filled");
            Assert.AreNotEqual("/", takeRegisterDetail.Marks[Convert.ToInt16(takeRegisterDetail.Marks.RowCount / 2)][1].Text, "The selected cells can not be flood filled");

            //Edit the mark with invalid value
            SeSugar.Automation.Retry.Do(takeRegisterDetail.Marks[pupilName][1].Select, 200, 100);
            takeRegisterDetail.Marks[pupilName][1].Text = "K";

            //VP: Value of mark can not be "K"
            Assert.AreNotEqual("K", takeRegisterDetail.Marks[pupilName][1].Text, "The cell should not update 'T' value");

            //Select Overwrite  Mode : Verify the Overwrite Mode Functionality
            takeRegisterDetail.ModePreserve = false;

            //Enter the mark "Late" to row 1, column 2 using the code list
            takeRegisterDetail.Marks[pupilName][1].Select();
            takeRegisterDetail.CodeList = "L";

            //Check value the mark changed
            Assert.AreEqual("L", takeRegisterDetail.Marks[pupilName][1].Text, "Mark is updated");

            //Enter the mark "Late" to row 1, column 1 using the keyboad
            takeRegisterDetail.Marks[pupilName][1].Text = "N";

            //Check value the mark changed
            Assert.AreEqual("N", takeRegisterDetail.Marks[pupilName][1].Text, "Mark is overwritten");

            //Enter the mark to row 1, column 1 using the UI buttons
            takeRegisterDetail.Marks[pupilName][3].Select();
            takeRegisterDetail.CodeUI = "L";

            //Check value the mark changed
            Assert.AreEqual("L", takeRegisterDetail.Marks[pupilName][3].Text, "Mark is overwritten");

            //Enter the mark "Absent" to row 1, column 1, using the drop-down
            takeRegisterDetail.Marks[pupilName][4].DoubleClick();
            takeRegisterDetail.CodeItemDropDown = "N";

            //Check value the mark changed
            Assert.AreEqual("N", takeRegisterDetail.Marks[pupilName][4].Text, "Mark is overwritten");

            //Ensure a selection of cells can be flood filled
            takeRegisterDetail.Marks.Columns[1].TimeIndicatorSelected = "AM";
            takeRegisterDetail.CodeList = "L";
            Assert.AreEqual("L", takeRegisterDetail.Marks[pupilName][1].Text, "The selected cells can not be flood filled");
            Assert.AreEqual("L", takeRegisterDetail.Marks[Convert.ToInt16(takeRegisterDetail.Marks.RowCount / 2)][1].Text, "The selected cells can not be flood filled");

            //Click Save
            takeRegisterDetail.ClickSave();
            Assert.AreEqual(true, takeRegisterDetail.IsSuccessMessageDisplayed(), "Success message doesn't display");
        }
Beispiel #7
0
 public Status InsertUser(string userName)
 {
     return(SeleniumHelper.InsertText(userName, By.XPath("//input[@id ='user_name']")));
 }
Beispiel #8
0
 public bool IsSuccessMessageDisplay()
 {
     Wait.WaitForControl(SimsBy.CssSelector("[data-automation-id='status_success']"));
     return(SeleniumHelper.DoesWebElementExist(_statusSuccess));
 }
Beispiel #9
0
 public Status NavigateToHomePage()
 {
     return(SeleniumHelper.GoToUrl("https://homeil.ness.com/"));
 }
Beispiel #10
0
 public Status InsertPassword(string password)
 {
     return(SeleniumHelper.InsertText(password, By.XPath("//input[@id ='password']")));
 }
Beispiel #11
0
 public CadastrarUmaNovaCategoria()
 {
     Browser = SeleniumHelper.Instance();
 }
Beispiel #12
0
 /// <summary>
 /// Au : An Nguyen
 /// Des : Verify success message is displayed
 /// </summary>
 /// <returns></returns>
 public bool IsSuccessMessageDisplayed()
 {
     AutomationSugar.WaitForAjaxCompletion();
     return(SeleniumHelper.IsElementExists(SimsBy.AutomationId("status_success")));
 }
 public void Save()
 {
     SeleniumHelper.Get(SimsBy.AutomationId("well_know_action_save")).ClickByJS();
     Wait.WaitForAjaxReady(SimsBy.CssSelector(".locking-mask"));
 }
Beispiel #14
0
        /// <summary>
        /// Get results only for status as "Validated with Issues"
        /// </summary>
        public IWebElement GetSearchResults(string status)
        {
            var censusTripletPage = new CensusPage();

            censusTripletPage.SearchCriteria.ReturnTypeDropdown        = "School Census Return";
            censusTripletPage.SearchCriteria.ReturnTypeVersionDropdown = "Spring 2017";
            SearchCriteria.Search();
            ReadOnlyCollection <IWebElement> searchResultCollection = SearchResults.GetSearchResults();

            foreach (IWebElement element in searchResultCollection)
            {
                ReadOnlyCollection <IWebElement> resultTiles = element.FindElements(By.CssSelector(string.Format("{0} {1}",
                                                                                                                 SeleniumHelper.AutomationId("resultTile"), "span")));
                foreach (IWebElement resultTile in resultTiles)
                {
                    if (resultTile.Text == status)
                    {
                        return(element);
                    }
                }
            }
            return(null);
        }
Beispiel #15
0
 public Status ClickEnter()
 {
     return(SeleniumHelper.OnClick(By.XPath("//input[@id ='submit_button']"), 40));
 }
Beispiel #16
0
 private IWebElement GetMenuBarButton()
 {
     return(WebContext.WebDriver.FindElement(SeleniumHelper.SelectByDataAutomationId("task_menu")));
 }
Beispiel #17
0
        public void CensusWidgetCheck()
        {
            SeleniumHelper.Login(SeleniumHelper.iSIMSUserType.ReturnsManager);
            Wait.WaitTillAllAjaxCallsComplete();

            bool isContainsWidget = false;

            IWebElement widgetElement = WebContext.WebDriver.FindElementSafe(By.CssSelector(SeleniumHelper.AutomationId("StatutoryReturnWidget")));

            if (widgetElement.IsElementExists())
            {
                var widgetDesc = widgetElement.FindChild(By.CssSelector(".hp-tile-desc")).Text;
                if (AllWidgetDesc.Contains(widgetDesc))
                {
                    isContainsWidget = true;
                }
            }
            Assert.IsTrue(isContainsWidget);
        }
Beispiel #18
0
 public static void ClickLink()
 {
     //if (LoadedQuickSearchLink.Displayed)
     //  LoadedQuickSearchLink.Click();
     SeleniumHelper.Get(AddressBookElements.LinkAddressBook).Click();
 }
Beispiel #19
0
 /// <summary>
 /// Author: Huy.Vo
 /// Description: Init page
 /// </summary>
 /// <returns></returns>
 public AddNewApplicationDialog AddNewApplicationDialog()
 {
     SeleniumHelper.Get(SimsBy.AutomationId("add_new_application_button")).ClickByJS();
     Wait.WaitForAjaxReady(SimsBy.CssSelector(".locking-mask"));
     return(new AddNewApplicationDialog());
 }
Beispiel #20
0
        public void TC_ATT006_Validate_Additional_Information_Displayed(string pupilSurName, string pupilForeName, string gender, DateTime dateOfBirth,
                                                                        DateTime DateOfAdmission, string YearGroup, string className, string pupilName, string contactSurname, string startDate, string startDateBefore)
        {
            #region Pre-Conditions:

            #region Pre-Condition: Create a new pupil for test

            AutomationSugar.Log("Data Creation started");
            var learnerId   = Guid.NewGuid();
            var dataPackage = this.BuildDataPackage();
            dataPackage.CreatePupil(learnerId, pupilSurName, pupilForeName, dateOfBirth, DateOfAdmission, YearGroup);

            AutomationSugar.Log("***Pre-Condition: Create new contact1 and refer to pupil");
            var  dataPackageNew              = this.BuildDataPackage();
            Guid learnerContactId            = Guid.NewGuid();
            Guid pupilContactRelationshipId1 = Guid.NewGuid();

            //Add pupil contact
            var contactSurname1  = Utilities.GenerateRandomString(10, "SeleniumPupilContact1_Surname" + Thread.CurrentThread.ManagedThreadId);
            var contactForename1 = Utilities.GenerateRandomString(10, "SeleniumPupilContact1_Forename" + Thread.CurrentThread.ManagedThreadId);
            var titleContact1    = "Mrs";
            dataPackageNew.AddPupilContact(learnerContactId, contactSurname1, contactForename1);
            dataPackageNew.AddPupilContactRelationship(pupilContactRelationshipId1, learnerId, learnerContactId);

            #endregion

            using (new DataSetup(packages: new DataPackage[] { dataPackage, dataPackageNew }))
            {
                // Login
                SeleniumHelper.Login(SeleniumHelper.iSIMSUserType.ClassTeacher);

                // Navigate to take register
                AutomationSugar.NavigateMenu("Tasks", "Attendance", "Take Register");

                // Enter values to search
                var takeRegisterTriplet = new TakeRegisterTriplet();
                takeRegisterTriplet.SearchCriteria.StartDate = startDateBefore;
                takeRegisterTriplet.SearchCriteria.Week      = true;
                takeRegisterTriplet.SearchCriteria.SelectYearGroup(YearGroup);
                var takeRegisterPage  = takeRegisterTriplet.SearchCriteria.Search <TakeRegisterDetailPage>();
                var takeRegisterTable = takeRegisterPage.Marks;

                // Enter pre-condition mark
                takeRegisterTable[pupilName][1].Text = "/";
                takeRegisterTable[pupilName][2].Text = "N";
                takeRegisterTable[pupilName][3].Text = "N";
                takeRegisterTable[pupilName][4].Text = "N";
                takeRegisterTable[pupilName][5].Text = "/";
                takeRegisterTable[pupilName][6].Text = "/";

                // Save Value
                takeRegisterPage.ClickSave();

                #endregion

                #region Steps

                // Enter values to search again
                takeRegisterTriplet = new TakeRegisterTriplet();
                takeRegisterTriplet.SearchCriteria.StartDate = startDate;
                takeRegisterTriplet.SearchCriteria.Day       = true;
                takeRegisterPage  = takeRegisterTriplet.SearchCriteria.Search <TakeRegisterDetailPage>();
                takeRegisterTable = takeRegisterPage.Marks;

                // Verify birthday cake displays
                takeRegisterTable = takeRegisterPage.Marks;
                Assert.AreEqual(true, takeRegisterTable[pupilName].IsBirthdayCakeDisplay(), "Birthday cake does not displays");

                // Click pupil name
                takeRegisterTable[pupilName].ClickCellPupilName();
                var pupilDetailDialog = new PupilDetailDialog();

                // Verify pupil name and DOB is displayed.
                Assert.IsTrue(pupilDetailDialog.PupilName.Contains(pupilName), "Pupil name is not correct");
                Assert.IsTrue(pupilDetailDialog.PupilDOB.Contains(dateOfBirth.ToString("dd MMMM yyyy")), "Date of Birth is not correct");

                // Verify contact detail displays
                Assert.AreEqual(true, pupilDetailDialog.IsContactDetailDisplay(), "Contact detail does not display");

                #endregion
            }
        }
 public void GivenUserHasVisitedTheBarfootHomepage()
 {
     SeleniumHelper.SetUpDriver();
 }
Beispiel #22
0
 public static bool IsPageExist()
 {
     return(SeleniumHelper.DoesWebElementExist(SimsBy.Id("screen")));
 }
 public void WhenPressesTheSearchButton()
 {
     SeleniumHelper.StartSearch();
 }
Beispiel #24
0
 public PedidoTela(SeleniumHelper helper) : base(helper)
 {
 }
Beispiel #25
0
 public AccountsOverviewPage(IWebDriver driver)
 {
     _driver  = driver;
     selenium = new SeleniumHelper(_driver);
 }
 /// <summary>
 /// Select a Subject on Gradeset Pannel
 /// </summary>
 public void SelectSubject(string SubjectName)
 {
     SeleniumHelper.ChooseSelectorOption(SubjectSelector, SubjectName);
 }
Beispiel #27
0
 public CadastrarContatoSteps()
 {
     Browser = SeleniumHelper.GetInstance();
 }
Beispiel #28
0
 /// <summary>
 /// Author: Ba.Truong
 /// Description: Init page Training Course
 /// </summary>
 /// <returns></returns>
 public static TrainingCourseDetailsPage Create()
 {
     SeleniumHelper.Get(SimsBy.AutomationId("staff_training_courses_create_button")).ClickByJS();
     Wait.WaitForAjaxReady(SimsBy.CssSelector(".locking-mask"));
     return(new TrainingCourseDetailsPage());
 }
Beispiel #29
0
 public TaskSearch TaskSearch()
 {
     //SeleniumHelper.ClickByJS(By.CssSelector("[title=\"Task Menu\"]"));
     SeleniumHelper.Get(By.CssSelector("[data-automation-id='task_menu']")).ClickByJS();
     return(new TaskSearch());
 }
Beispiel #30
0
        //private object waiter;

        #endregion

        #region Public methods

        /// <summary>
        /// Author: Huy.Vo
        /// Description: Init page
        /// </summary>
        /// <returns></returns>
        public SchoolIntakePage Create()
        {
            SeleniumHelper.Get(Add_Button).Click();
            Wait.WaitForAjaxReady(SimsBy.CssSelector(".locking-mask"));
            return(new SchoolIntakePage());
        }
Beispiel #31
0
 public LoginPage(IWebDriver driver)
 {
     helper = new SeleniumHelper(driver);
 }