Example #1
0
class Test_005_Form():
    base_url = Readconfig.getApplicationURL()
    username = Readconfig.getUsername()
    Password = Readconfig.getPassword()
    logger = LogGen.loggen()
    formname = Readconfig.getFormname()
    template_form_description = Readconfig.getFormdescription()

    def test_createform(self,setup):
        self.logger.info("###### Executing Test_004_AssignSuccessor test case ########")
        self.logger.info("############ Setting up with the login test execution ########### ")
        self.driver = setup
        self.driver.get(self.base_url)
        self.driver.maximize_window()
        self.lp = Login(self.driver)
        self.lp.set_Username(self.username)
        time.sleep(1)
        self.lp.click_next_btn()
        time.sleep(2)
        self.lp.set_password(self.Password)
        time.sleep(1)
        self.lp.click_signin_btn()
        time.sleep(1)
        self.lp.click_confirm_btn()
        time.sleep(3)
        self.driver.get_screenshot_as_file(".\\Screenshoots\\login.png")
        self.logger.info("############ User is successfully logged in ########### ")
        print("Login is successfully completed")
        self.logger.info("###### Executing workflow script ######")
        self.form = CreateForm(self.driver)
        time.sleep(3)
        self.form.click_drop_down_menu()
        time.sleep(3)
        self.form.select_admin_from_the_drop_down_menu()
        time.sleep(3)
        self.form.click_breadcrumb_menu()
        time.sleep(3)
        self.form.click_form_management_menu()
        time.sleep(3)
        self.form.click_forms_button()
        time.sleep(3)
        self.form.click_add_form_button()
        time.sleep(2)
        self.form.enable_form_template_toggle()
        time.sleep(2)
        self.form.select_template_name("New hire")
        time.sleep(2)
        self.form.enter_form_name(self.formname)
        # self.driver.find_element_by_xpath("(//*[@id='name'])[2]").send_keys("RP-Starter form")
        time.sleep(2)
        # self.form.enter_descripton(self.template_form_description)
        # time.sleep(2)
        self.form.select_message_type("Hire")
        # select_message_type = Select(self.driver.find_element_by_xpath())
        time.sleep(3)
        self.form.add_request_form()
        time.sleep(5)
class Test_002_CreateWorkflow:
    base_url = Readconfig.getApplicationURL()
    username = Readconfig.getUsername()
    Password = Readconfig.getPassword()
    workflow_name = Readconfig.getWorkflowName()
    workflow_description = Readconfig.getDescription()
    status_name = Readconfig.getStatus1()
    logger = LogGen.loggen()

    def test_createworkflow(self, setup):
        self.logger.info("############ Setting up with the login test execution ########### ")
        self.driver = setup
        self.driver.get(self.base_url)
        self.driver.maximize_window()
        self.lp = Login(self.driver)
        self.lp.set_Username(self.username)
        time.sleep(1)
        self.lp.click_next_btn()
        time.sleep(2)
        self.lp.set_password(self.Password)
        time.sleep(1)
        self.lp.click_signin_btn()
        time.sleep(1)
        self.lp.click_confirm_btn()
        time.sleep(3)
        self.driver.get_screenshot_as_file(".\\Screenshoots\\login.png")
        self.logger.info("############ User is successfully logged in ########### ")
        print("Login is successfully completed")
        self.logger.info("######### Creating WorkFlow #########")
        self.wf=CreateWorkflow(self.driver)
        time.sleep(1)
        self.wf.click_drop_down_menu()
        time.sleep(1)
        self.wf.select_admin_from_the_drop_down_menu()
        time.sleep(1)
        self.wf.click_breadcrumb_menu()
        time.sleep(1)
        self.wf.click_workflow_menu()
        time.sleep(1)
        self.wf.click_workflow_sub_menu()
        time.sleep(1)
        self.wf.click_new_button()
        time.sleep(2)
        self.wf.enter_workflow_name(self.workflow_name)
        time.sleep(1)
        self.wf.enter_workflow_description(self.workflow_description)
        time.sleep(1)
        self.wf.active_toggle()
        time.sleep(1)
        self.wf.add_workflow()
        time.sleep(3)
        self.logger.info("####### Workflow is created successfuly ########")
Example #3
0
 def test_login(self):
     self.logger.info(
         "############ Setting up with the login test execution ########### "
     )
     self.driver = webdriver.Chrome(ChromeDriverManager().install())
     self.driver.get(self.base_url)
     self.driver.maximize_window()
     lp = Login(self.driver)
     lp.set_Username(self.username)
     time.sleep(1)
     lp.click_next_btn()
     time.sleep(1)
     lp.set_password(self.Password)
     time.sleep(1)
     lp.click_signin_btn()
     time.sleep(1)
     lp.click_confirm_btn()
     time.sleep(3)
     self.driver.get_screenshot_as_file(".\\Screenshoots\\login.png")
     self.logger.info(
         "############ User is successfully logged in ########### ")
     print("Login is successfully completed")
Example #4
0
class Test_004_AssignSuccessor:
    base_url = Readconfig.getApplicationURL()
    username = Readconfig.getUsername()
    Password = Readconfig.getPassword()
    workflow_name = Readconfig.getWorkflowName()
    workflow_description = Readconfig.getDescription()
    status_name = Readconfig.getStatus1()
    status_name1 = Readconfig.getStatus2()
    status_name2 = Readconfig.getStatus3()
    status_name3 = Readconfig.getStatus4()
    logger = LogGen.loggen()

    def test_successor(self, setup):
        self.logger.info(
            "###### Executing Test_004_AssignSuccessor test case ########")
        self.logger.info(
            "############ Setting up with the login test execution ########### "
        )
        self.driver = setup
        self.driver.get(self.base_url)
        self.driver.maximize_window()
        self.lp = Login(self.driver)
        self.lp.set_Username(self.username)
        time.sleep(1)
        self.lp.click_next_btn()
        time.sleep(2)
        self.lp.set_password(self.Password)
        time.sleep(1)
        self.lp.click_signin_btn()
        time.sleep(1)
        self.lp.click_confirm_btn()
        time.sleep(3)
        self.driver.get_screenshot_as_file(".\\Screenshoots\\login.png")
        self.logger.info(
            "############ User is successfully logged in ########### ")
        print("Login is successfully completed")
        self.logger.info("###### Executing workflow script ######")
        self.wf = CreateWorkflow(self.driver)
        time.sleep(3)
        self.wf.click_drop_down_menu()
        time.sleep(3)
        self.wf.select_admin_from_the_drop_down_menu()
        time.sleep(3)
        self.wf.click_breadcrumb_menu()
        time.sleep(3)
        self.wf.click_workflow_menu()
        time.sleep(3)
        self.wf.click_workflow_sub_menu()
        time.sleep(3)
        self.driver.get_screenshot_as_file(".\\Screenshoots\\workflow.png")
        self.assignstatus = CreateStatus(self.driver)
        self.assignstatus.search_workflow_name(self.workflow_name)
        time.sleep(3)
        self.assignstatus.select_workflow()
        time.sleep(3)
        self.logger.info(
            "######## Assign successor to the created status ########")
        self.AS = SuccessorAssign(self.driver)
        self.AS.click_three_dot_icon_manager()
        time.sleep(1)
        self.AS.click_manager_successor_btn_three_dot_menu()
        time.sleep(2)
        self.logger.info(
            "###### Assign successor1 to the Manager status ######")
        self.AS.click_create_new_successor_btn()
        time.sleep(2)
        self.AS.assign_successor_to_status("Back to originator")
        time.sleep(1)
        self.AS.assign_next_status_to_successor("Review by originator")
        time.sleep(1)
        self.AS.click_add_successor_btn()
        time.sleep(3)
        self.logger.info(
            "###### Assign successor2 to the Manager status ######")
        self.AS.click_create_new_successor_btn()
        time.sleep(3)
        self.AS.assign_successor_to_status("Approve")
        time.sleep(3)
        self.AS.assign_next_status_to_successor("Approve")
        time.sleep(3)
        self.AS.click_add_successor_btn()
        time.sleep(3)
        self.logger.info(
            "###### Assign successor3 to the Manager status ######")
        self.AS.click_create_new_successor_btn()
        time.sleep(3)
        self.AS.assign_successor_to_status("Reject")
        time.sleep(3)
        self.AS.assign_next_status_to_successor("Reject")
        time.sleep(3)
        self.AS.click_add_successor_btn()
        self.driver.get_screenshot_as_file(".\\Screenshoots\\successor1.png")
        time.sleep(3)
        self.AS.click_back_button()
        self.logger.info("###### Navigate back to status page ######")
        self.logger.info(
            "###### Assign successor to the status Originator ######")
        time.sleep(3)
        self.AS.click_three_dot_icon_originator()
        time.sleep(3)
        self.AS.click_originator_successor_btn_three_dot_menu()
        time.sleep(3)
        self.AS.click_create_new_successor_btn()
        time.sleep(3)
        self.AS.assign_successor_to_status("Back to originator")
        time.sleep(3)
        self.AS.assign_next_status_to_successor("Review by manager")
        time.sleep(3)
        self.AS.click_add_successor_btn()
        time.sleep(2)
        self.driver.get_screenshot_as_file(".\\Screenshoots\\successor2.png")
        self.AS.click_back_button()
        time.sleep(2)
Example #5
0
class Test_003_StatusAssignment:
    base_url = Readconfig.getApplicationURL()
    username = Readconfig.getUsername()
    Password = Readconfig.getPassword()
    workflow_name = Readconfig.getWorkflowName()
    workflow_description = Readconfig.getDescription()
    status_name = Readconfig.getStatus1()
    status_name1 = Readconfig.getStatus2()
    status_name2 = Readconfig.getStatus3()
    status_name3 = Readconfig.getStatus4()
    logger = LogGen.loggen()

    def test_statusassignment(self, setup):
        self.logger.info(
            "############ Setting up with the login test execution ########### "
        )
        self.driver = setup
        self.driver.get(self.base_url)
        self.driver.maximize_window()
        self.lp = Login(self.driver)
        self.lp.set_Username(self.username)
        time.sleep(1)
        self.lp.click_next_btn()
        time.sleep(2)
        self.lp.set_password(self.Password)
        time.sleep(1)
        self.lp.click_signin_btn()
        time.sleep(1)
        self.lp.click_confirm_btn()
        time.sleep(3)
        self.driver.get_screenshot_as_file(".\\Screenshoots\\login.png")
        self.logger.info(
            "############ User is successfully logged in ########### ")
        print("Login is successfully completed")
        self.logger.info("######### Creating WorkFlow #########")
        self.wf = CreateWorkflow(self.driver)
        time.sleep(1)
        self.wf.click_drop_down_menu()
        time.sleep(1)
        self.wf.select_admin_from_the_drop_down_menu()
        time.sleep(1)
        self.wf.click_breadcrumb_menu()
        time.sleep(1)
        self.wf.click_workflow_menu()
        time.sleep(1)
        self.wf.click_workflow_sub_menu()
        time.sleep(1)
        self.driver.get_screenshot_as_file(".\\Screenshoots\\workflow.png")
        self.logger.info("####### Workflow is created successfuly ########")
        self.assignstatus = CreateStatus(self.driver)
        self.assignstatus.search_workflow_name(self.workflow_name)
        time.sleep(3)
        self.assignstatus.select_workflow()
        time.sleep(1)
        self.logger.info("####### Assign status in the workflow ########")
        self.assignstatus.click_add_new_status_btn()
        time.sleep(1)
        self.assignstatus.enter_status(self.status_name)
        time.sleep(1)
        self.logger.info(
            "####### Executing Test_003_StatusAssignment test case for status assignment"
        )
        self.logger.info(
            "####### Assigning manager status1 to the workflow ########")
        self.assignstatus.select_assign_type("Manager")
        time.sleep(2)
        # self.assignstatus.select_fixed_value("Review")
        # time.sleep(2)
        self.assignstatus.enable_assignee_toggle()
        time.sleep(1)
        self.assignstatus.enable_originator_toggle()
        time.sleep(1)
        self.assignstatus.add_status()
        self.driver.get_screenshot_as_file(".\\Screenshoots\\.png")
        time.sleep(3)
        self.logger.info(
            "####### Assigning originator status2 to the workflow ########")
        self.assignstatus.click_add_new_status_btn()
        time.sleep(1)
        self.assignstatus.enter_status(self.status_name1)
        time.sleep(1)
        self.assignstatus.select_assign_type("Originator")
        time.sleep(2)
        self.assignstatus.select_fixed_value("Review")
        time.sleep(2)
        self.assignstatus.enable_assignee_toggle()
        time.sleep(1)
        self.assignstatus.enable_originator_toggle()
        time.sleep(1)
        self.assignstatus.add_status()
        self.driver.get_screenshot_as_file(
            ".\\Screenshots\\status_originator.png")
        time.sleep(3)
        self.logger.info(
            "####### Assigning manager status3 to the workflow ########")
        self.assignstatus.click_add_new_status_btn()
        time.sleep(1)
        self.assignstatus.enter_status(self.status_name2)
        time.sleep(1)
        self.assignstatus.select_assign_type("Manager")
        time.sleep(2)
        self.assignstatus.select_fixed_value("End approved")
        time.sleep(2)
        self.assignstatus.enable_assignee_toggle()
        time.sleep(1)
        self.assignstatus.enable_originator_toggle()
        time.sleep(1)
        self.assignstatus.add_status()
        self.driver.get_screenshot_as_file(".\\Screenshots\\manager2.png")
        time.sleep(3)
        self.logger.info(
            "####### Assigning manager status4 to the workflow ########")
        self.assignstatus.click_add_new_status_btn()
        time.sleep(1)
        self.assignstatus.enter_status(self.status_name3)
        time.sleep(1)
        self.assignstatus.select_assign_type("Manager")
        time.sleep(2)
        self.assignstatus.select_fixed_value("End rejected")
        time.sleep(2)
        self.assignstatus.enable_assignee_toggle()
        time.sleep(1)
        self.assignstatus.enable_originator_toggle()
        time.sleep(1)
        self.assignstatus.add_status()
        self.driver.get_screenshot_as_file(".\\Screenshots\\manager3.png")
        time.sleep(3)
        self.driver.get_screenshot_as_file(
            ".\\Screenshots\\assigned_status.png")
Example #6
0
class Test_006_Group():
    base_url = Readconfig.getApplicationURL()
    username = Readconfig.getUsername()
    Password = Readconfig.getPassword()
    logger = LogGen.loggen()
    request_group = Readconfig.getRequestgroupname()
    group_description = Readconfig.getGroupdescription()
    RequestType = Readconfig.getRequestTypename()
    RequestType_Description = Readconfig.getRequestTypeDescription()
    workflow_name = Readconfig.getWorkflowName()
    form_name = Readconfig.getFormname()

    def test_creategroup(self, setup):
        self.logger.info(
            "###### Executing Test_004_AssignSuccessor test case ########")
        self.logger.info(
            "############ Setting up with the login test execution ########### "
        )
        self.driver = setup
        self.driver.implicitly_wait(10)
        self.driver.get(self.base_url)
        time.sleep(2)
        self.driver.maximize_window()
        time.sleep(2)
        self.lp = Login(self.driver)
        time.sleep(2)
        self.lp.set_Username(self.username)
        time.sleep(2)
        self.lp.click_next_btn()
        time.sleep(2)
        self.lp.set_password(self.Password)
        time.sleep(2)
        self.lp.click_signin_btn()
        time.sleep(2)
        self.lp.click_confirm_btn()
        time.sleep(2)
        self.driver.get_screenshot_as_file(".\\Screenshoots\\login.png")
        self.logger.info(
            "############ User is successfully logged in ########### ")
        print("Login is successfully completed")
        self.logger.info("###### Executing workflow script ######")
        self.form = CreateForm(self.driver)
        time.sleep(2)
        self.form.click_drop_down_menu()
        time.sleep(2)
        self.form.select_admin_from_the_drop_down_menu()
        time.sleep(2)
        self.form.click_breadcrumb_menu()
        time.sleep(2)
        self.RG = RequestGroup(self.driver)
        self.logger.info(
            "######## Working on the request group creation ########")
        self.RG.click_request_group()
        time.sleep(2)
        self.RG.create_a_new_request_group()
        time.sleep(2)
        self.RG.enter_request_group_name(self.request_group)
        time.sleep(2)
        self.RG.enter_request_group_description(self.group_description)
        time.sleep(2)
        self.RG.click_enable_active_toggle()
        time.sleep(2)
        self.RG.click_add_button()
        time.sleep(2)
        self.logger.info(
            "######## The request group is added successfully ########")
        self.RG.search_request_group_name(self.request_group)
        time.sleep(3)
        self.RG.click_selected_request_group_name()
        time.sleep(3)
        self.RG.create_a_new_request_type()
        time.sleep(3)
        self.RG.enter_request_type_name(self.RequestType)
        time.sleep(2)
        self.RG.add_request_type_description(self.RequestType_Description)
        time.sleep(3)
        self.RG.select_workflow(self.workflow_name)
        time.sleep(3)
        self.RG.select_request_form(self.form_name)
        time.sleep(3)
        self.RG.add_request_type()
        time.sleep(5)
        self.logger.info(
            "######## A new request type is created successfully #########")
Example #7
0
class Test_001_Login:
    base_url = Readconfig.getApplicationURL()
    username = Readconfig.getUsername()
    Password = Readconfig.getPassword()
    logger = LogGen.loggen()

    def test_home(self, setup):
        self.logger.info(
            "############ Executing testcase TC_001_login ########### ")
        self.driver = setup
        self.driver.get(self.base_url)
        self.driver.maximize_window()
        title = self.driver.title
        print(title)
        print("Login page successfully launched")
        self.logger.info(
            "############ The browser is launched successfully ########### ")

    # @pytest.mark.regression
    def test_login(self):
        self.logger.info(
            "############ Setting up with the login test execution ########### "
        )
        self.driver = webdriver.Chrome(ChromeDriverManager().install())
        self.driver.get(self.base_url)
        self.driver.maximize_window()
        lp = Login(self.driver)
        lp.set_Username(self.username)
        time.sleep(1)
        lp.click_next_btn()
        time.sleep(1)
        lp.set_password(self.Password)
        time.sleep(1)
        lp.click_signin_btn()
        time.sleep(1)
        lp.click_confirm_btn()
        time.sleep(3)
        self.driver.get_screenshot_as_file(".\\Screenshoots\\login.png")
        self.logger.info(
            "############ User is successfully logged in ########### ")
        print("Login is successfully completed")

    def test_logout(self, setup):
        self.driver = setup
        self.driver.get(self.base_url)
        self.driver.maximize_window()
        self.lp = Login(self.driver)
        self.lp.set_Username(self.username)
        time.sleep(1)
        self.lp.click_next_btn()
        time.sleep(1)
        self.lp.set_password(self.Password)
        time.sleep(1)
        self.lp.click_signin_btn()
        time.sleep(1)
        self.lp.click_confirm_btn()
        time.sleep(1)
        print("Login is successfully completed")
        dashboard_text = self.lp.capture_text()
        print(dashboard_text)
        title = self.driver.title
        print(title)
        self.lp.click_user_profile()
        time.sleep(1)
        self.lp.logout_user()
        time.sleep(3)
        self.logger.info(
            "############ User is successfully logged out ########### ")
        print("User is logged out")