public void CleanEnvironment()
        {
            var okrListPageObject = new OKRListPageObject(driver);

            okrListPageObject.UsersComboBox.SelectByText(MANAGER_USERNAME);

            var approveOKRPageObject = new ApproveOKRPageObject(driver);
            var lastCreatedOKR       = okrListPageObject.OKRsList.Last();

            // Last created OKR is placed to the bottom of OKRs list
            if (lastCreatedOKR.TitleLabel.Text == TESTOKR_NAME)
            {
                approveOKRPageObject.SettingsButton.Click();
                approveOKRPageObject.SettingsMenu.DeleteMenuItem.Click();
                var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(EXPLICIT_WAIT_SECONDS));
                wait.Until(ExpectedConditions.AlertIsPresent());
                driver.SwitchTo().Alert().Accept();
            }
            else
            {
                throw new Exception(TEARDOWN_EXCEPTION_TEXT);
            }

            driver.Quit();
        }
        public void ApproveOKR()
        {
            var approveOKRPageObj = new ApproveOKRPageObject(driver);

            approveOKRPageObj.ApproveButton.Click();
            Assert.IsTrue(approveOKRPageObj.ApprovedOKRLabel.Displayed);
        }
Пример #3
0
        public void BeforeAllMethods()
        {
            // General driver configuration
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(IMPLICIT_WAIT_SECONDS);
            driver.Navigate().GoToUrl(APPLICATION_URL);

            // Applied Page Objects
            login       = new LoginPageObject(driver);
            sideBarMenu = new SideBarMenuPageObject(driver);
            OKRList     = new OKRListPageObject(driver);
            setOKR      = new SetOKRPageObject(driver);
            deleteOKR   = new ApproveOKRPageObject(driver);

            // Login into system
            login.UserEmailTextBox.Click();
            login.UserEmailTextBox.Clear();
            login.UserEmailTextBox.SendKeys(email.ToString());
            login.UserPasswordTextBox.Click();
            login.UserPasswordTextBox.Clear();
            login.UserPasswordTextBox.SendKeys(password);
            login.LoginButton.Click();

            // Navigate to OKR Page
            sideBarMenu.OKRItem.Click();

            // Click button "New OKR"
            OKRList.NewOKRButton.Click();
        }
        public void Initialization()
        {
            // Configuring Implicit Timeout and navigating to Application
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(IMPLICIT_WAIT_TIMEOUT);
            driver.Navigate().GoToUrl(APPLICATION_URL);

            //Initializing globals
            approveOKRPageObject = new ApproveOKRPageObject(driver);
            editOKRPageObject    = new SetOKRPageObject(driver);
            okrListPageObject    = new OKRListPageObject(driver);

            // Pre-condition: Logging in as manager
            var loginPageObject = new LoginPageObject(driver);

            loginPageObject.UserEmailTextBox.Clear();
            loginPageObject.UserEmailTextBox.SendKeys(MANAGER_EMAIL);
            loginPageObject.UserPasswordTextBox.Clear();
            loginPageObject.UserPasswordTextBox.SendKeys(MANAGER_PASSWORD);
            loginPageObject.LoginButton.Click();

            // Navigating to OKRs list page and selecting Team Lead User
            var sidebarMenuPageObject = new SideBarMenuPageObject(driver);

            sidebarMenuPageObject.OKRItem.Click();
        }
        public void DeleteOKRTestCase()
        {
            okrListPageObject.UsersComboBox.SelectByText(MANAGER_USER_NAME);

            var approveOKRPageObject = new ApproveOKRPageObject(driver);
            var okrList = okrListPageObject.OKRsList;

            for (int i = 0; i < okrList.Count; i++)
            {
                // Reinitializing variables every iteration to avoid StaleElementReffereceException
                var okrTitleLabel = okrList[i].TitleLabel;
                var okrTitle      = okrTitleLabel.Text;

                if (okrTitle == TEST_OKR_NAME)
                {
                    okrTitleLabel.Click();
                    approveOKRPageObject.SettingsButton.Click();
                    approveOKRPageObject.SettingsMenu.DeleteMenuItem.Click();
                    driver.SwitchTo().Alert().Accept();

                    // Reinitializing OKR List and moving to previous iteration to avoid StaleElementRefferenceException
                    okrList = okrListPageObject.OKRsList;
                    i--;
                }
            }

            // Checking results
            Assert.IsTrue(okrListPageObject.OKRsList.All(i => !i.TitleLabel.Text.Equals(TEST_OKR_NAME)), ASSERT_TEXT);
        }
        public void Initialization()
        {
            // General driver configuration
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(IMPLICIT_WAIT_SECONDS);
            driver.Navigate().GoToUrl(APPLICATION_URL);

            // Assigning of Page Objects
            login = new LoginPageObject(driver);
            sideBarMenuPageObject     = new SideBarMenuPageObject(driver);
            myTasksPageObject         = new MyTasksPageObject(driver);
            topPanelPageObject        = new TopPanelPageObject(driver);
            addTaskPageObject         = new AddTaskPageObject(driver);
            deleteTaskPageObject      = new DeleteTaskPageObject(driver);
            okrListForAssignedPerson1 = new OKRListPageObject(driver);
            okrListForAssignedPerson2 = new OKRListPageObject(driver);
            approveOKRPageObject      = new ApproveOKRPageObject(driver);
            setOKRPageObject          = new SetOKRPageObject(driver);

            identificationNumber = DateTime.Now.ToString("dd:MM:yyyy/HH:mm");
            assigneesList        = new List <UserKeyResultsPageObject>();
            taskList             = new List <TaskPageObject>();
            wait = new WebDriverWait(driver, TimeSpan.FromSeconds(EXPLICIT_WAIT_SECONDS));

            // Login into system
            login.UserEmailTextBox.Click();
            login.UserEmailTextBox.Clear();
            login.UserEmailTextBox.SendKeys(MANAGER_EMAIL);
            login.UserPasswordTextBox.Click();
            login.UserPasswordTextBox.Clear();
            login.UserPasswordTextBox.SendKeys(MANAGER_PASSWORD);
            login.LoginButton.Click();

            // Assigning unique names to OKRs
            okrName1 = ASSIGNED_PERSON_1_OKR_NAME + identificationNumber;
            okrName2 = ASSIGNED_PERSON_2_OKR_NAME + identificationNumber;

            // Creating OKRs for the assignees
            CreateOkr(ASSIGNED_PERSON_1, okrName1, ASSIGNED_PERSON_1_OBJECTIVE,
                      ASSIGNED_PERSON_1_KEY_RESULT_1, ASSIGNED_PERSON_1_KEY_RESULT_2, okrListForAssignedPerson1);

            CreateOkr(ASSIGNED_PERSON_2, okrName2, ASSIGNED_PERSON_2_OBJECTIVE,
                      ASSIGNED_PERSON_2_KEY_RESULT_1, ASSIGNED_PERSON_2_KEY_RESULT_2, okrListForAssignedPerson2);
        }
Пример #7
0
        public void DeleteOKRTestCase()
        {
            var approveOKRPageObject = new ApproveOKRPageObject(driver);

            okrListPageObject.UsersComboBox.SelectByText(MANAGER_USER_NAME);

            // OKR created in pre-conditions setup gets last position in OKRs list for user
            if (okrListPageObject.OKRsList.Last().TitleLabel.Text == testOKRName)
            {
                okrListPageObject.OKRsList.Last().TitleLabel.Click();

                // Thread.Sleep is called while running on Chrome to avoid exceptions. Chrome ignores WebDriver's implicit waiters
                if (currentBrowser == SelenoidDrivers.CHROME)
                {
                    Thread.Sleep(CHROME_THREAD_SLEEP_TIME);
                }
                approveOKRPageObject.SettingsButton.Click();

                // Thread.Sleep is called while running on Chrome to avoid exceptions. Chrome ignores WebDriver's implicit waiters
                if (currentBrowser == SelenoidDrivers.CHROME)
                {
                    Thread.Sleep(CHROME_THREAD_SLEEP_TIME);
                }
                approveOKRPageObject.SettingsMenu.DeleteMenuItem.Click();
                driver.SwitchTo().Alert().Accept();
            }
            else
            {
                throw new Exception(OKR_WAS_NOT_CREATED_TEXT);
            }

            // Checking results
            driver.Navigate().GoToUrl(APPLICATION_URL + "/okrs");
            okrListPageObject.UsersComboBox.SelectByText(MANAGER_USER_NAME);

            foreach (var okr in okrListPageObject.OKRsList)
            {
                Assert.AreNotEqual(okr.TitleLabel.Text, testOKRName, ASSERT_TEXT);
            }
        }