예제 #1
0
    def students_vacate_query(cls, driver, query_info):
        # 区域
        select_region_ele = Service.get_ele_location_method(
            driver, "css",
            "#content > div.row.con-margin.con-body-con > div > div > div > "
            "div.col-lg-12.col-md-12.col-xs-12.con-body-padding.text-left > select:nth-child(1)"
        )
        Service.get_select_result(select_region_ele, query_info['region'])

        # 请假状态
        select_status_ele = Service.get_ele_location_method(
            driver, "css",
            "#content > div.row.con-margin.con-body-con > div > div > div > "
            "div.col-lg-12.col-md-12.col-xs-12.con-body-padding.text-left > select:nth-child(2)"
        )
        Service.get_select_result(select_status_ele, query_info['status'])

        # 姓名
        class_name_ele = Service.get_ele_location_method(
            driver, "css",
            "#content > div.row.con-margin.con-body-con > div > div > div > "
            "div.col-lg-12.col-md-12.col-xs-12.con-body-padding.text-left > input"
        )
        Service.input_value_ele(class_name_ele, query_info['name'])

        # 点击查询
        Service.get_ele_location_method(
            driver, "css",
            "#content > div.row.con-margin.con-body-con > div > div > div > "
            "div.col-lg-12.col-md-12.col-xs-12.con-body-padding.text-left > button"
        ).click()
예제 #2
0
    def test_students_vacate_add(self, add_info):
        # 新增按钮
        Service.get_ele_location_method(self.driver, 'css',
                                        "#content > div.row.con-margin.con-body-con > div > div > div > "
                                        "div.col-lg-12.col-md-12.col-xs-12.con-body-padding.text-left > div > button").click()

        # 新增操作
        StudentsVacate.students_vacate_add(self.driver, add_info)

        # 数据库数据量查询
        sql_result = Utility.get_connect_one(
            "select count(student_id) from student_leave",
            students_vacate_page_data["test_students_vacate_query"]["sql_bath"]
        )[0]
        # 新增操作
        # StudentsVacate.students_vacate_add(self.driver, add_info)

        # 数据库数据量查询
        sql_result_again = Utility.get_connect_one(
            "select count(student_id) from student_leave",
            students_vacate_page_data["test_students_vacate_query"]["sql_bath"]
        )[0]

        # 断言
        if sql_result < sql_result_again:
            actual = "add-students-vacate-success"
        else:
            actual = "add-students-vacate-fail"

        # 预期不符,截图
        Service.get_screen(self.driver, actual, add_info["expect"],
                           "/query_students_vacate", "C:/Users/wang/Desktop/woniuboss4.0/gui/error")

        self.assertEqual(actual, add_info["expect"])
예제 #3
0
    def test_add_source(self, marketing_query_info):

        # 点击新增
        Service.get_ele_location_method(
            self.driver, 'css',
            '#queryDiv > div:nth-child(2) > button:nth-child(9)').click()

        # 调用新增操作
        Marketing.marketing_add(self.driver, marketing_query_info)

        # 判断出现保存成功框
        commit_window_ele = Service.is_Element_present(
            self.driver, By.CSS_SELECTOR,
            "body > div.bootbox.modal.fade.mydialog.in > "
            "div > div > div.modal-footer > button")
        if commit_window_ele:
            actual = "add-customer-success"
            commit_window_ele.click()
        else:
            actual = "add-customer-fail"

        # 预期不符,截图
        if actual != marketing_query_info["expect"]:
            file_name = "add_error" + Service.format_date() + '.png'
            self.driver.get_screenshot_as_file(
                "C:\\Users\wang\Desktop\woniuboss4.0\gui\error\\'%s'" %
                (file_name))
        # 断言
        self.assertEqual(actual, marketing_query_info["expect"])
예제 #4
0
    def test_class_manager_add(self, add_info):
        # 新增按钮
        Service.get_ele_location_method(
            self.driver, "xpath", "//*[@id='cmDiv']/div[1]/button").click()

        # 调用新增班级
        ClassManager.class_manager_add(self.driver, add_info)

        true_window_ele = Service.is_Element_present(
            self.driver, By.CSS_SELECTOR,
            "body > div.bootbox.modal.fade.mydialog.in > div > div > div.modal-footer > button"
        )

        if true_window_ele:
            actual = "add-class-success"
            true_window_ele.click()
        else:
            actual = "add-class-fail"

        # 预期不符,截图
        Service.get_screen(self.driver, actual, add_info["expect"],
                           "/add_class",
                           "C:/Users/wang/Desktop/woniuboss4.0/gui/error")

        self.assertEqual(actual, add_info["expect"])
예제 #5
0
 def modify_employee(cls, driver):
     name_ele = Service.get_ele_location_method(
         driver, "css",
         "#modifyEmp-form > div > div:nth-child(2) > div:nth-child(1) > input"
     )
     Service.input_value_date_ele(name_ele, Service.format_date())
     # 保存
     Service.get_ele_location_method(driver, "css", "#modifyEmpBtn").click()
예제 #6
0
    def class_manager_add(cls, driver, add_info):
        # 班号
        class_number_ele = Service.get_ele_location_method(
            driver, "css", "#addClass-form > div > div:nth-child(1) > input")
        Service.input_value_ele(class_number_ele, add_info['class_number'])

        # 方向
        select_direction_ele = Service.get_ele_location_method(
            driver, "css", "#addClass-form > div > div:nth-child(2) > select")
        Service.get_select_result(select_direction_ele, add_info['direction'])

        # 开班时间
        Service.get_ele_location_method(
            driver, "css",
            "#addClass-form > div > div:nth-child(3) > input").click()
        Service.get_ele_location_method(
            driver, "css",
            "body > div.datetimepicker.datetimepicker-dropdown-bottom-right.dropdown-menu > "
            "div.datetimepicker-days > table > tbody > tr:nth-child(2) > td:nth-child(5)"
        ).click()

        # 班主任
        teacher_ele = Service.get_ele_location_method(
            driver, "css", "#addClass-form > div > div:nth-child(4) > select")
        Service.get_select_result(teacher_ele, add_info['teacher'])

        # 保存
        Service.get_ele_location_method(
            driver, "css",
            "#addClass-modal > div > div > div.modal-footer > button").click()
예제 #7
0
    def setUp(self):
        self.driver = Service.get_driver()
#
        # 跳转 班务管理
        Service.jump_target_module(
            self.driver, students_vacate_page_data["setUp"]["url_path"],
            students_vacate_page_data["setUp"]["cookie_path"],
            students_vacate_page_data["setUp"]["locate_mode"], students_vacate_page_data["setUp"]["locate_msg"]
        )
        # 学员请假
        Service.get_ele_location_method(self.driver, students_vacate_page_data["setUp"]["resource_locate"],
                                        students_vacate_page_data["setUp"]["resource_locate_msg"]).click()
예제 #8
0
 def setUp(self):
     self.driver = Service.get_driver()
     Service.jump_target_module(
         self.driver, class_manager_page_data["setUp"]["url_path"],
         class_manager_page_data["setUp"]["cookie_path"],
         class_manager_page_data["setUp"]["locate_mode"],
         class_manager_page_data["setUp"]["locate_msg"])
     # 班级管理
     Service.get_ele_location_method(
         self.driver, class_manager_page_data["setUp"]["resource_locate"],
         class_manager_page_data["setUp"]["resource_locate_msg"]).click()
     # 解密
     Service.page_decode(self.driver,
                         class_manager_page_data["setUp"]["decode_url"])
예제 #9
0
    def class_manager_query(cls, driver, query_info):
        # 校区
        select_region_ele = Service.get_ele_location_method(
            driver, "css",
            "#cmDiv > div.col-lg-12.col-md-12.col-sm-12.col-xs-12.con-body-padding.text-left > "
            "select:nth-child(1)")
        Service.get_select_result(select_region_ele, query_info['region'])

        # 班级
        select_class_ele = Service.get_ele_location_method(
            driver, "css",
            "#cmDiv > div.col-lg-12.col-md-12.col-sm-12.col-xs-12.con-body-padding.text-left > "
            "select:nth-child(2)")
        Service.get_select_result(select_class_ele, query_info['class_status'])
예제 #10
0
 def setUp(self):
     self.driver = Service.get_driver()
     #   Jump targets module
     Service.jump_target_module(self.driver,
                                marketing_page_data["setUp"]["url_path"],
                                marketing_page_data["setUp"]["cookie_path"],
                                marketing_page_data["setUp"]["locate_mode"],
                                marketing_page_data["setUp"]["locate_msg"])
     # 简历资源
     Service.get_ele_location_method(
         self.driver, marketing_page_data["setUp"]["resource_locate"],
         marketing_page_data["setUp"]["resource_locate_msg"]).click()
     # 解密
     Service.page_decode(self.driver,
                         marketing_page_data["setUp"]["decode_url"])
예제 #11
0
    def test_modify_employee(self, modify_info):
        PersonnelManagement.query_employee(self.driver, modify_info)
        time.sleep(3)
        query_count = Service.search_recode_result(
            self.driver, page_data["test_query_employee"]["locate_mode"],
            page_data["test_query_employee"]["locate_msg"],
            page_data["test_query_employee"]["result_locate_mode"],
            page_data["test_query_employee"]["result_locate_msg"])

        # 调用 修改
        Service.modify_person(self.driver, query_count,
                              page_data["test_query_employee"]["body_id"],
                              page_data["test_query_employee"]["table_id"])
        PersonnelManagement.modify_employee(self.driver)

        # 保存后,确定 弹窗
        try:
            modify_reuslt_ele = Service.get_ele_location_method(
                self.driver,
                page_data["test_modify_employee"]["modify_reuslt_ele_locate"],
                page_data["test_modify_employee"]["modify_reuslt_ele_msg"])
            if modify_reuslt_ele.is_displayed():
                actual = "modify_employee-success"
                modify_reuslt_ele.click()
            else:
                actual = "modify_employee-fail"
            self.assertEqual(actual, modify_info["expect"])
        except:
            self.driver.get_screenshot_as_file(
                page_data["test_modify_employee"]["screen_path"])
예제 #12
0
    def marketing_add(cls, driver, marketing_add_info):
        # 区域
        select_area_ele = Service.get_ele_location_method(
            driver, "css",
            "#addResource-form > div > div > div:nth-child(1) > select")
        Service.get_select_result(select_area_ele, marketing_add_info['area'])

        # 部门
        select_department_ele = Service.get_ele_location_method(
            driver, "css",
            "#addResource-form > div > div > div:nth-child(2) > select")
        Service.get_select_result(select_department_ele,
                                  marketing_add_info['department'])

        # 电话
        phone_ele = Service.get_ele_location_method(
            driver, "css",
            "#addResource-form > div > div > div:nth-child(3) > input")
        Service.input_value_ele(phone_ele, marketing_add_info['phone'])

        # 姓名
        name_ele = Service.get_ele_location_method(
            driver, "css",
            "#addResource-form > div > div > div:nth-child(4) > input")
        Service.input_value_ele(name_ele, marketing_add_info['name'])

        # QQ
        qq_ele = Service.get_ele_location_method(
            driver, "css",
            "#addResource-form > div > div > div:nth-child(8) > input")
        Service.input_value_ele(qq_ele, marketing_add_info['qq'])

        # 学历
        select_education_ele = Service.get_ele_location_method(
            driver, "css",
            "#addResource-form > div > div > div:nth-child(10) > select")
        Service.get_select_result(select_education_ele,
                                  marketing_add_info['education'])

        # 最后跟踪
        tracking_ele = Service.get_ele_location_method(
            driver, "css",
            "#addResource-form > div > div > div.col-md-12.col-sm-12.form-group > textarea"
        )
        Service.input_value_ele(tracking_ele, marketing_add_info['tracking'])

        # 点击保存
        Service.get_ele_location_method(driver, "id", "addCusBtn").click()
예제 #13
0
    def marketing_query(cls, driver, marketing_query_info):
        # 找到select元素:区域、状态、来源
        # 区域
        select_area_ele = Service.get_ele_location_method(
            driver, "css",
            "#queryDiv > div:nth-child(1) > span:nth-child(1) > select")
        Service.get_select_result(select_area_ele,
                                  marketing_query_info['area'])

        # 状态
        select_status_ele = Service.get_ele_location_method(
            driver, "css",
            "#queryDiv > div:nth-child(1) > span:nth-child(2) > select")
        Service.get_select_result(select_status_ele,
                                  marketing_query_info['status'])

        # 来源
        select_source_ele = Service.get_ele_location_method(
            driver, "css",
            "#queryDiv > div:nth-child(1) > span:nth-child(3) > select")
        Service.get_select_result(select_source_ele,
                                  marketing_query_info['source'])

        # 开始时间
        starttime_ele = Service.get_ele_location_method(
            driver, "css", "#queryDiv > div:nth-child(2) > input:nth-child(2)")
        Service.input_value_ele(starttime_ele,
                                marketing_query_info['starttime'])

        # 结束时间
        endtime_ele = Service.get_ele_location_method(
            driver, "css", "#queryDiv > div:nth-child(2) > input:nth-child(4)")
        Service.input_value_ele(endtime_ele, marketing_query_info['endtime'])

        # 姓名
        name_ele = Service.get_ele_location_method(
            driver, "css",
            "#queryDiv > div:nth-child(2) > input[type=text]:nth-child(5)")
        Service.get_input(name_ele, marketing_query_info['name'])

        # 点击查询
        marketing_query_ele = Service.get_ele_location_method(
            driver, "css",
            "#queryDiv > div:nth-child(2) > button.btn.btn-padding.btn-info.btn-search"
        )
        marketing_query_ele.click()
예제 #14
0
    def students_vacate_add(cls, driver, add_info):
        # 开始时间
        Service.get_ele_location_method(
            driver, "css", "#leave-form > div:nth-child(2)"
            " > div:nth-child(1) > input:nth-child(2)").click()
        Service.get_ele_location_method(
            driver, "css", "div.datetimepicker:nth-child(23) > "
            "div:nth-child(3) > table:nth-child(1) > tbody:nth-child(2) > "
            "tr:nth-child(5) > td:nth-child(6)").click()

        # 结束时间
        Service.get_ele_location_method(
            driver, "css", "#leave-form > div:nth-child(2) >"
            " div:nth-child(2) > input:nth-child(2)").click()

        Service.get_ele_location_method(
            driver, "css",
            "div.datetimepicker:nth-child(24) > div:nth-child(3) > table:nth-child(1) >"
            " tbody:nth-child(2) > tr:nth-child(6) > td:nth-child(1)").click()

        # 请假类型
        vacate_type_ele = Service.get_ele_location_method(
            driver, "css",
            "#leave-form > div:nth-child(3) > div:nth-child(1) > select")
        Service.get_select_result(vacate_type_ele, add_info['type'])

        # 请假天数
        time_ele = Service.get_ele_location_method(
            driver, "css",
            "#leave-form > div:nth-child(3) > div:nth-child(2) > input")
        Service.input_value_ele(time_ele, add_info['time'])

        # 姓名
        name_ele = Service.get_ele_location_method(
            driver, "css", "#leave-form > div:nth-child(4) > div > input")
        Service.input_value_ele(name_ele, add_info['name'])
        # 关联
        Service.get_ele_location_method(
            driver, "css",
            "#leave-form > div:nth-child(4) > div > ul > li > a").click()

        # 是否扣分
        score_ele = Service.get_ele_location_method(
            driver, "css", "#leave-form > div:nth-child(4) > select")
        Service.get_select_result(score_ele, add_info['score'])

        # 请假原因
        reason_ele = Service.get_ele_location_method(
            driver, "css", "#leave-form > div:nth-child(5) > div > textarea")
        Service.input_value_ele(reason_ele, add_info['reason'])

        # 保存
        Service.get_ele_location_method(
            driver, "css",
            "#leave-modal > div > div > div.modal-footer > button").click()
예제 #15
0
    def add_employee(cls, driver, add_info):
        PersonnelManagement.Person_second_directory_employee_info(driver)
        # 新增按钮
        Service.get_ele_location_method(
            driver, "xpath",
            "//*[@id='content']/div[2]/div[1]/div/button").click()
        # 区域 region
        add_region_select_ele = Service.get_ele_location_method(
            driver, "css",
            "#addEmp-form > div > div:nth-child(1) > div:nth-child(1) > select"
        )

        Service.get_select_result(add_region_select_ele, add_info["region"])

        # 部门 department
        add_department_select_ele = Service.get_ele_location_method(
            driver, "css",
            "#addEmp-form > div > div:nth-child(1) > div:nth-child(2) > select"
        )
        Service.get_select_result(add_department_select_ele,
                                  add_info["department"])

        # 职位 job
        add_job_input_ele = Service.get_ele_location_method(
            driver, "css",
            "#addEmp-form > div > div:nth-child(1) > div:nth-child(3) > input")
        Service.input_value_ele(add_job_input_ele, add_info["job"])

        # 姓名 name
        add_name_input_ele = Service.get_ele_location_method(
            driver, "css",
            "#addEmp-form > div > div:nth-child(2) > div:nth-child(1) > input")
        Service.input_value_ele(add_name_input_ele, add_info["name"])

        # 性别 sex
        add_sex_input_ele = Service.get_ele_location_method(
            driver, "css",
            "#addEmp-form > div > div:nth-child(2) > div:nth-child(2) > select"
        )
        Service.get_select_result(add_sex_input_ele, add_info["sex"])

        # 入职日期 date
        Service.get_ele_location_method(
            driver, "css",
            "#addEmp-form > div > div:nth-child(2) > div:nth-child(3) > input"
        ).click()

        Service.get_ele_location_method(
            driver, "css",
            "body > div:nth-child(22) > div.datetimepicker-days > table > tbody > tr:nth-child(2) > td:nth-child(1)"
        ).click()
        # Service.input_value_ele(add_date_input_ele, add_info["date"])

        # 电话 phone
        add_phone_input_ele = Service.get_ele_location_method(
            driver, "css",
            "#addEmp-form > div > div:nth-child(3) > div:nth-child(1) > input")

        Service.input_value_ele(add_phone_input_ele, add_info["phone"])

        # 工号 job_number
        add_job_number_input_ele = Service.get_ele_location_method(
            driver, "css",
            "#addEmp-form > div > div:nth-child(8) > div > input")
        Service.input_value_ele(add_job_number_input_ele,
                                add_info["job_number"])

        # 点击保存
        Service.get_ele_location_method(driver, "css", "#addEmpBtn").click()

        # 确定
        Service.get_ele_location_method(
            driver, "css",
            "body > div.bootbox.modal.fade.mydialog.in > div > div > div.modal-footer > button"
        ).click()
예제 #16
0
 def Person_department(cls, driver, data):
     department_selector_ele = Service.get_ele_location_method(
         driver, "css", "#content > div.row.con-margin.con-body-con > "
         "div.col-lg-12.col-md-12.col-xs-12.con-body-padding.text-left > "
         "select.sel-text.dept")
     Service.get_select_result(department_selector_ele, data)