예제 #1
0
        public void Initialization()
        {
            // Configuring Implicit Timeout and navigating to Application
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(IMPLICIT_WAIT_TIMEOUT);
            driver.Navigate().GoToUrl(APPLICATION_URL);

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

            SetInputField(loginPageObject.UserEmailTextBox, MANAGER_EMAIL);
            SetInputField(loginPageObject.UserPasswordTextBox, MANAGER_PASSWORD);
            loginPageObject.LoginButton.Click();

            // Navigating to OKRs list page
            var sidebarMenuPageObject = new SideBarMenuPageObject(driver);

            sidebarMenuPageObject.OKRItem.Click();

            // Pre-condition: creating temporary OKR for Admin User
            okrListPageObject = new OKRListPageObject(driver);
            okrListPageObject.UsersComboBox.SelectByText(MANAGER_USER_NAME);
            okrListPageObject.NewOKRButton.Click();

            var newOKRPageObject = new SetOKRPageObject(driver);

            testOKRName = TEST_OKR_NAME + new Random().Next(0, 999).ToString();
            SetInputField(newOKRPageObject.OKRNameField, testOKRName);
            SetInputField(newOKRPageObject.ObjectivesList[0].ObjectiveNameField, TEST_OKR_OBJECTIVE_TEXT);
            newOKRPageObject.ObjectivesList[0].KeyResultsList[0].RemoveKeyResultLink.Click();  // Removing unnecessary Key Result
            SetInputField(newOKRPageObject.ObjectivesList[0].KeyResultsList[0].KeyResultField, TEST_OKR_KEYRESULT_TEXT);
            newOKRPageObject.SaveButton.Click();
        }
        public void AddNewUserTest()
        {
            var sideBarMenu = new SideBarMenuPageObject(driver);
            var addUserPage = new AddUserPageObject(driver);
            var usersList   = new UsersListPageObject(driver);

            // navigate to Users Page
            sideBarMenu.UsersItem.Click();
            // add new user
            usersList.AddUserButton.Click();
            // fill all fields
            InputField(addUserPage.UserNameTextBox, userName);
            InputField(addUserPage.UserNickNameTextBox, userNickName);
            InputField(addUserPage.UserEmailTextBox, userEmail);
            InputField(addUserPage.UserEmployeeCodeTextBox, userCode);
            InputField(addUserPage.PasswordTextBox, USER_PASSWORD);
            InputField(addUserPage.PasswordConfirmationTextBox, USER_PASSWORD);
            addUserPage.SaveButton.Click();
            driver.Navigate().Refresh();
            // result
            usersList = new UsersListPageObject(driver);
            Assert.IsTrue(usersList.UserList
                          .Select(x => x.NameLink.Text
                                  .ToString())
                          .Where(x => x == userName)
                          .Count() > 0);
        }
예제 #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 SetupEnvironment()
        {
            // Configuring timeout and navigating to Application
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(IMPLICIT_WAIT_TIMEOUT);
            driver.Navigate().GoToUrl(APPLICATION_URL);

            // Preconditions: login as manager and create OKR
            var loginObject = new LoginPageObject(driver);

            loginObject.UserEmailTextBox.SendKeys(MANAGER_EMAIL);
            loginObject.UserPasswordTextBox.SendKeys(MANAGER_PASSWORD);
            loginObject.LoginButton.Click();
            var sidebarMenu = new SideBarMenuPageObject(driver);

            sidebarMenu.OKRItem.Click();
            var okrListPageObject = new OKRListPageObject(driver);

            okrListPageObject.UsersComboBox.SelectByText(MANAGER_USERNAME);
            okrListPageObject.NewOKRButton.Click();

            // OKR fillout
            var newOKRPageObject = new SetOKRPageObject(driver);

            newOKRPageObject.OKRNameField.SendKeys(TESTOKR_NAME);
            newOKRPageObject.ObjectivesList[0].ObjectiveNameField.SendKeys(TESTOKR_OBJECTIVENAME);
            newOKRPageObject.ObjectivesList[0].KeyResultsList[0].KeyResultField.SendKeys(TESTOKR_V2);
            newOKRPageObject.ObjectivesList[0].KeyResultsList[1].KeyResultField.SendKeys(TESTOKR_V2);
            newOKRPageObject.SaveButton.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();
        }
예제 #6
0
        public void AfterAllMethods()
        {
            var sideBarMenu = new SideBarMenuPageObject(driver);

            sideBarMenu.LogoutItem.Click();
            driver.Quit();
        }
        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);
        }
예제 #8
0
        public void Setup()
        {
            // Setup for remote running
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(IMPLICIT_WAIT_SECONDS);
            driver.Navigate().GoToUrl(URL);

            // Initialization Page Objects
            loginPageObject       = new LoginPageObject(driver);
            deleteTaskPageObject  = new DeleteTaskPageObject(driver);
            myTasksPageObject     = new MyTasksPageObject(driver);
            sidebarMenuPageObject = new SideBarMenuPageObject(driver);
            topPanelPageObject    = new TopPanelPageObject(driver);
            addTaskPageObject     = new AddTaskPageObject(driver);

            // Log into an application
            Login(EMAIL, PASSWORD);

            NavigateMyTasks();

            // Create task
            AddTask(TITLE, DESCRIPTION, TEAM, PRIORITY);
        }
예제 #9
0
        public void LoginTest()
        {
            var login       = new LoginPageObject(driver);
            var sideBarMenu = new SideBarMenuPageObject(driver);

            // user email
            login.UserEmailTextBox.Click();
            login.UserEmailTextBox.Clear();
            login.UserEmailTextBox.SendKeys(email);

            // user password
            login.UserPasswordTextBox.Click();
            login.UserPasswordTextBox.Clear();
            login.UserPasswordTextBox.SendKeys(password);

            // press button
            login.LoginButton.Click();

            // check the expected result
            Assert.AreEqual(userName, sideBarMenu.UserNameItem.Text);
            Assert.AreEqual(LOGOUT_TEXT, sideBarMenu.LogoutItem.Text);
        }