예제 #1
0
 def common_resource_pool_source(cls, driver, data):
     pool_source_select_ele = Service.get_ele(
         driver, By.CSS_SELECTOR,
         "#content > div.row.con-margin.con-body-header > "
         "div.col-lg-6.col-md-6.col-xs-12.con-body-padding > "
         "select:nth-child(3)")
     Service.get_select_result(pool_source_select_ele, data)
예제 #2
0
    def class_ele(cls, driver, data):

        class_select_ele = Service.get_ele(
            driver, By.CSS_SELECTOR,
            "#stuInfo > div.col-lg-6.col-md-4.col-xs-12.con-body-padding.text-left > "
            "select.sel-text.stu-class")
        Service.get_select_result(class_select_ele, data)
예제 #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 name_input_query(cls, driver, data):

        name_input_query_ele = Service.get_ele(
            driver, By.CSS_SELECTOR,
            "#stuInfo > div.col-lg-6.col-md-6.col-xs-12.con-body-padding.text-left > "
            "input.text")
        Service.input_value_ele(name_input_query_ele, data)
예제 #5
0
    def direction_ele(cls, driver, data):

        direction_select_ele = Service.get_ele(
            driver, By.CSS_SELECTOR,
            "#stuInfo > div.col-lg-6.col-md-4.col-xs-12.con-body-padding.text-left > "
            "select.sel-text.stu-orientation")
        Service.get_select_result(direction_select_ele, data)
    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"])
예제 #7
0
    def student_number_input_query(cls, driver, data):

        student_number_input_query_ele = Service.get_ele(
            driver, By.CSS_SELECTOR,
            "#stuInfo > div.col-lg-6.col-md-6.col-xs-12.con-body-padding.text-left > "
            "input[type=text]:nth-child(2)")
        Service.input_value_ele(student_number_input_query_ele, data)
예제 #8
0
 def today_morning_input_name(cls, driver, data):
     morning_input_name_ele = Service.get_ele(
         driver, By.CSS_SELECTOR, "#mornExam > "
         "div.col-lg-8.col-md-8.col-xs-12.con-body-padding.text-left > input"
     )
     # 值
     Service.input_value_ele(morning_input_name_ele, data)
예제 #9
0
 def Person_name(cls, driver, data):
     name_input_ele = Service.get_ele(
         driver, By.CSS_SELECTOR,
         "#content > div.row.con-margin.con-body-con > "
         "div.col-lg-12.col-md-12.col-xs-12.con-body-padding.text-left > "
         "input[type=text]")
     Service.input_value_ele(name_input_ele, data)
예제 #10
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"])
예제 #11
0
 def Person_status(cls, driver, data):
     status_selector_ele = Service.get_ele(
         driver, By.CSS_SELECTOR,
         "#content > div.row.con-margin.con-body-con > "
         "div.col-lg-12.col-md-12.col-xs-12.con-body-padding.text-left > "
         "select.emp_status.sel-text")
     Service.get_select_result(status_selector_ele, data)
예제 #12
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"])
예제 #13
0
    def test_class_manager_query(self, query_info):
        # 调用操作
        ClassManager.class_manager_query(self.driver, query_info)

        # 当前条件,页面显示的数量
        query_count = Service.search_recode_result(
            self.driver,
            class_manager_page_data["test_class_manager_query"]["locate_mode"],
            class_manager_page_data["test_class_manager_query"]["locate_msg"],
            class_manager_page_data["test_class_manager_query"]
            ["result_locate_mode"],
            class_manager_page_data["test_class_manager_query"]
            ["result_locate_msg"])
        # 数据库对比
        sql_result_again = Service.class_manager_query_sql(
            query_info,
            class_manager_page_data["test_class_manager_query"]["sql_bath"])

        if sql_result_again == int(query_count):
            actual = "query-class-success"
        else:
            actual = "query-class-fail"

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

        self.assertEqual(actual, query_info["expect"])
예제 #14
0
 def input_name(cls, driver, data):
     input_name_ele = Service.get_ele(
         driver, By.CSS_SELECTOR,
         "#cmDiv > div.col-lg-8.col-md-8.col-sm-12.col-xs-12.con-body-padding.text-left"
         " > input[type=text]")
     # 值
     Service.input_value_ele(input_name_ele, data)
예제 #15
0
 def add_curriculum(cls, driver, time_info, data_list):
     Service.get_ele(
         driver, By.CSS_SELECTOR,
         "#course > div.col-lg-12.col-md-12.col-sm-12.col-xs-12.con-body-padding.text-left > "
         "button").click()
     # 安排课程
     CourseArrangement.input_time(driver, time_info)
     CourseArrangement.teacher_cource(driver, data_list)
예제 #16
0
    def modify_course(cls, driver, modify_data):
        CourseArrangement.teacher_ele(driver, modify_data["singleteacher"])
        CourseArrangement.modify_function_ele(driver,
                                              modify_data["singledirection"],
                                              modify_data["singlenumber"])

        # 保存
        Service.get_ele(
            driver, By.CSS_SELECTOR,
            "#modifyCourse > div > div > div.modal-footer > button").click()
예제 #17
0
    def staged_evaluation_query(cls, driver, query_info):
        StagedEvaluation.staged_class_ele(driver, query_info["class"])
        StagedEvaluation.staged_direction_ele(driver, query_info["direction"])
        StagedEvaluation.staged_name_input(driver, query_info["name"])

        # 查询按钮 元素
        Service.get_ele(
            driver, By.CSS_SELECTOR, "#examination > "
            "div.col-lg-8.col-md-8.col-sm-12.col-xs-12.con-body-padding.text-left > button"
        ).click()
예제 #18
0
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.maximize_window()
        self.driver.implicitly_wait(10)
        self.url = Utility.read_json("../../config/data_base")["BASEURL"]

        # 跳转到报表中心
        Service.add_cookie(self.driver, self.url)
        # 点击报表中心
        Service.get_ele(self.driver, By.PARTIAL_LINK_TEXT, "报表中心")
예제 #19
0
 def verification_allocating_result(cls, driver):
     # 判断自身、区域有无数据
     query_result_submit = Service.get_ele(driver, By.CSS_SELECTOR, "table#allot-table tbody").text
     if query_result_submit != "无符合条件的记录":
         # 前端页面显示数据数,根据状态(不同状态数量不同)
         query_count_result = Service.get_ele(driver, By.XPATH, "//span[@class='pagination-info']").text
         result = re.match('^显示.*,总.*?(\d+)', query_count_result).group(1)
     else:
         result = 0
     return result
예제 #20
0
    def staged_evaluation_query(cls, driver, query_info):
        EvaluationRecords.records_class_ele(driver, query_info["class"])
        EvaluationRecords.records_direction_ele(driver, query_info["direction"])
        EvaluationRecords.records_stage_ele(driver, query_info["stage"])
        EvaluationRecords.records_name_input(driver, query_info["name"])

        # 查询按钮 元素
        Service.get_ele(
            driver, By.CSS_SELECTOR,
            "#stagetest > div.col-lg-12.col-md-12.col-sm-12.col-xs-12.con-body-padding.text-left > button"
        ).click()
예제 #21
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()
예제 #22
0
    def teacher_cource(cls, driver, data_list):
        # teacher_cource_count = Service.get_eles(driver,By.CSS_SELECTOR,"tbody#addCourse-table > tr")

        # 循环写入老师排课内容
        # addCourse-table > tr:nth-child(9)
        for count in range(len(data_list)):
            CourseArrangement.teacher_cource_info(driver, data_list[count],
                                                  count + 1)
        Service.get_ele(
            driver, By.CSS_SELECTOR,
            "#course-add > div > div > div.modal-footer > button:nth-child(2)"
        ).click()
예제 #23
0
 def verification_evaluation_records_result(self):
     # 判断自身、区域有无数据
     query_result_class = Service.get_ele(self.driver, By.CSS_SELECTOR, "table#pe-result tbody").text
     if query_result_class != "无符合条件的记录":
         # 前端页面显示数据数,根据状态(不同状态数量不同)
         query_count_result = Service.get_ele(
             self.driver, By.CSS_SELECTOR,
             "#stagetest > div.bootstrap-table > div.fixed-table-container > div.fixed-table-pagination > "
             "div.pull-left.pagination-detail > span.pagination-info").text
         result = re.match('^显示.*,总.*?(\d+)', query_count_result).group(1)
     else:
         result = 0
     return result
예제 #24
0
    def common_resource_pool_query(cls, driver, query_info):
        # 元素
        CommonResourcePool.finally_abandoned_people(driver,
                                                    query_info["people"])
        CommonResourcePool.common_resource_pool_status(driver,
                                                       query_info["status"])
        CommonResourcePool.common_resource_pool_source(driver,
                                                       query_info["source"])
        CommonResourcePool.common_resource_pool_input_query(
            driver, query_info["userinfo"])

        # 点击查询
        Service.get_ele(driver, By.CSS_SELECTOR,
                        "button.btn:nth-child(2)").click()
예제 #25
0
    def verification_modify_result(self, modify_ele, modif_path, expect):
        Service.get_tier_ele(modify_ele, By.XPATH, modif_path).click()
        # 姓名框
        modify_name_ele = Service.get_ele(
            self.driver, By.CSS_SELECTOR,
            "#modifyForm > div > div:nth-child(2) > div.col-md-8.col-sm-6.col-xs-6 > "
            "div.col-md-6.col-sm-8.col-xs-8.form-group > input")
        # 在姓名后输入日期
        current_time = Service.format_date()
        current_content = Service.input_value_date_ele(modify_name_ele,
                                                       current_time)
        # 点击 保存
        Service.get_ele(
            self.driver, By.CSS_SELECTOR,
            "#form-modify > div > div > div.modal-footer > button").click()
        # 修改完成,用修改后的姓名,查询一次
        TraineesManagement.name_input_query(self.driver, current_content)
        TraineesManagement.basic_information_query_ele(self.driver)

        if Service.get_ele(self.driver, By.CSS_SELECTOR,
                           "#stuInfo_table > tbody > tr > td:nth-child(1)"
                           ).text == current_content:
            actual = "basic-pass"
        else:
            actual = "basic-fail"

        self.assertEqual(actual, expect)
예제 #26
0
    def verification_check_result(self, check_ele, check_path):

        Service.get_tier_ele(check_ele, By.CSS_SELECTOR, check_path).click()
        # 判断 查看功能
        if Service.is_Element_present(self.driver, By.CSS_SELECTOR,
                                      "#seeStuInfo-modal > div > div"):
            # 关闭页面
            Service.get_ele(
                self.driver, By.CSS_SELECTOR,
                "#seeStuInfo-modal > div > div > div.modal-header > button > span:nth-child(1)"
            ).click()
        else:
            print("查看功能出错")
            self.driver.quit()
예제 #27
0
 def verification_morning_exam_result(self, driver):
     # 判断自身、区域有无数据
     query_result_morning = Service.get_ele(driver, By.CSS_SELECTOR,
                                            "#mornExam-table > tbody").text
     if query_result_morning != "无符合条件的记录":
         # 前端页面显示数据数,根据状态(不同状态数量不同)
         query_count_result = Service.get_ele(
             driver, By.CSS_SELECTOR,
             "#mornExam > div.bootstrap-table > div.fixed-table-container > "
             "div.fixed-table-pagination > div.pull-left.pagination-detail > span.pagination-info"
         ).text
         result = re.match('^显示.*,总.*?(\d+)', query_count_result).group(1)
     else:
         result = 0
     return result
예제 #28
0
    def test_course_arrangement(self, time_info, course_arrangement_test_info,
                                modify_data, expect):
        # cookie
        self.course_arrangement_init()

        # 调用新增排课 操作
        CourseArrangement.add_curriculum(self.driver, time_info,
                                         course_arrangement_test_info)

        # 调用修改排课
        CourseArrangement.modify_course(self.driver, modify_data)

        # 修改后,判断修改是否成功过
        class_number = Service.get_ele(
            self.driver, By.CSS_SELECTOR,
            "#course_table > tbody > tr:nth-child(1) > td:nth-child(4)").text
        if class_number == modify_data["singlenumber"]:
            actual = "modify-pass"
        else:
            actual = "modify-fail"

        # 断言
        self.assertEqual(actual, expect)

        self.driver.quit()
예제 #29
0
 def login(cls, driver, url, login_info):
     driver.get(url)
     # 数据
     uname_ele = Service.get_ele(
         driver, By.CSS_SELECTOR,
         "div.row:nth-child(1) > input:nth-child(1)")
     Service.input_value_ele(uname_ele, login_info["uname"])
     upass_ele = Service.get_ele(
         driver, By.CSS_SELECTOR,
         "div.row:nth-child(2) > input:nth-child(1)")
     Service.input_value_ele(upass_ele, login_info["upass"])
     verify_code_ele = Service.get_ele(driver, By.CSS_SELECTOR,
                                       "input.col-md-6")
     Service.input_value_ele(verify_code_ele, login_info["verifycode"])
     # 点击登录
     login_ele = Service.get_ele(driver, By.CSS_SELECTOR, ".btn")
     login_ele.click()
예제 #30
0
    def test_query_employee(self, query_info):
        PersonnelManagement.query_employee(self.driver, query_info)
        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"])
        # 数据库对比
        sql_result = Service.person_query_sql(
            query_info, page_data["test_query_employee"]["sql_bath"])

        if int(query_count) == int(sql_result):
            actual = "query_employee-success"
        else:
            actual = "query_employee-fail"
        print(query_count, sql_result)
        self.assertEqual(actual, query_info["expect"])