예제 #1
0
 def common_resource_pool_init(self):
     # 添加cookie信息,跳转到登陆后首页
     Service.add_cookie(self.driver, self.url,
                        "../config/consulting_competent_data_cookie")
     # 点击市场营销,分配资源
     Service.get_ele(self.driver, By.PARTIAL_LINK_TEXT, "培训资源").click()
     Service.get_ele(self.driver, By.PARTIAL_LINK_TEXT, "公共资源池").click()
예제 #2
0
    def teacher_cource_info(cls, driver, count_data, count):
        # 状态
        teacher_status = Service.get_ele(
            driver, By.CSS_SELECTOR,
            "#addCourse-table > tr:nth-child(%d) > td:nth-child(3) > "
            "select" % count)
        Service.get_select_result(teacher_status, count_data["status"])
        # 教室
        teacher_room = Service.get_ele(
            driver, By.CSS_SELECTOR,
            "#addCourse-table > tr:nth-child(%d) > td:nth-child(4) > "
            "select" % count)
        Service.get_select_result(teacher_room, count_data["room"])
        # 班号
        teacher_room_number = Service.get_ele(
            driver, By.CSS_SELECTOR,
            "#addCourse-table > tr:nth-child(%d) > td:nth-child(5) > "
            "select" % count)
        Service.get_select_result(teacher_room_number, count_data["number"])
        # 方向
        teacher_room_direction = Service.get_ele(
            driver, By.CSS_SELECTOR,
            "#addCourse-table > tr:nth-child(%d) > td:nth-child(6) > "
            "select" % count)
        Service.get_select_result(teacher_room_direction,
                                  count_data["direction"])

        # 课程安排
        teacher_source_plan = Service.get_ele(
            driver, By.CSS_SELECTOR,
            "#addCourse-table > tr:nth-child(%d) > td:nth-child(7) > "
            "select" % count)
        Service.get_select_result(teacher_source_plan, count_data["plan"])
예제 #3
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)
예제 #4
0
    def data_input(cls, driver, start_data, end_data):

        start_data_input_ele = Service.get_ele(driver, By.ID, "date1")
        Service.input_value_ele(start_data_input_ele, start_data)

        end_data_input_ele = Service.get_ele(driver, By.ID, "date2")
        Service.input_value_ele(end_data_input_ele, end_data)
예제 #5
0
    def grade_today_morning_exam(self, query_select, exam_info):
        # 判断是否晨考
        if query_select.text == '-':
            # 弹窗
            today_morning_way = Service.get_ele(
                self.driver, By.CSS_SELECTOR,
                "#mornExam-form > div > div:nth-child(1) > select")
            Service.get_select_result(today_morning_way, exam_info["way"])
            today_morning_score = Service.get_ele(
                self.driver, By.CSS_SELECTOR,
                "#mornExam-form > div > div:nth-child(2) > input")
            Service.input_value_ele(today_morning_score, exam_info["score"])
            today_morning_describe = Service.get_ele(
                self.driver, By.CSS_SELECTOR,
                "#mornExam-form > div > div.col-md-12.col-sm-12.col-xs-12.form-group > "
                "textarea")
            Service.input_value_ele(today_morning_describe,
                                    exam_info["describe"])

            # 保存
            Service.get_ele(
                self.driver, By.CSS_SELECTOR,
                "#mornExam-modal > div > div > div.modal-footer > button"
            ).click()

            # 用于判断是否是这里添加的评分
            return True
            # 判断当前元素,分数,一致,则通过

        # 评过分的略过
        else:
            return False
예제 #6
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)
예제 #7
0
 def input_time(cls, driver, data):
     start_time_ele = Service.get_ele(
         driver, By.CSS_SELECTOR,
         "#addcourse > div > div:nth-child(1) > input")
     end_time_ele = Service.get_ele(
         driver, By.CSS_SELECTOR,
         "#addcourse > div > div:nth-child(2) > input")
     # 值
     Service.input_value_ele(start_time_ele, data["starttime"])
     Service.input_value_ele(end_time_ele, data["endtime"])
예제 #8
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()
예제 #9
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()
예제 #10
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
예제 #11
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, "报表中心")
예제 #12
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()
예제 #13
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()
예제 #14
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
예제 #15
0
 def modify_function_ele(cls, driver, modify_direction, modify_number):
     Service.get_ele(
         driver, By.CSS_SELECTOR,
         "#course_table > tbody > tr:nth-child(1) > td:nth-child(10) > button"
     ).click()
     modify_function_direction = Service.get_ele(
         driver, By.CSS_SELECTOR,
         "#modifyCourseForm > div > div > div:nth-child(5) > select")
     Service.get_select_result(modify_function_direction, modify_direction)
     modify_function_number = Service.get_ele(
         driver, By.CSS_SELECTOR,
         "#modifyCourseForm > div > div > div:nth-child(7) > select")
     Service.get_select_result(modify_function_number, modify_number)
예제 #16
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()
예제 #17
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()
예제 #18
0
    def test_marketing_query(self, marketing_query_info, expect):
        # 添加cookie信息,跳转到登陆后首页
        Service.add_cookie(self.driver, self.url, "../config/data_cookie")
        # 点击市场营销
        Service.get_ele(self.driver, By.PARTIAL_LINK_TEXT, "市场营销").click()

        Marketing.marketing_query(self.driver, marketing_query_info)
        # 判断是否查询出数据
        query_result = Service.get_ele(self.driver, By.CSS_SELECTOR,
                                       "table#netCus-table tbody").text
        # 市场营销有上传过数据
        if query_result != "无符合条件的记录":
            # 前端页面显示数据数,根据状态(不同状态数量不同)
            query_count_result = Service.get_ele(
                self.driver, By.XPATH, "//span[@class='pagination-info']").text
            result = re.match('^显示.*,总.*?(\d+)', query_count_result)

            # 查询数据库,对比数据条数是否正确
            if marketing_query_info['status'] == "全部" and marketing_query_info[
                    'area'] == "全部":
                sql = 'select count(customer_id) from customer where source="%s" and ' \
                      'create_time between "%s" and "%s"'%('网络',marketing_query_info['starttime'],marketing_query_info['endtime'])
                query_connect_count = Utility.get_connect_one(
                    sql, "../config/data_base")
            elif marketing_query_info[
                    'status'] == "全部" and marketing_query_info['area'] != "全部":
                sql = 'select count(customer_id) from customer where source="%s" and region="%s" and create_time between "%s" and "%s"' \
                      %('网络',marketing_query_info['area'],marketing_query_info['starttime'],marketing_query_info['endtime'])
                query_connect_count = Utility.get_connect_one(
                    sql, "../config/data_base")
            elif marketing_query_info[
                    'status'] != "全部" and marketing_query_info['area'] == "全部":
                sql = 'select count(customer_id) from customer where source="%s" and last_status="%s" and create_time between "%s" and "%s"' \
                      % ('网络', marketing_query_info['status'],marketing_query_info['starttime'],marketing_query_info['endtime'])
                query_connect_count = Utility.get_connect_one(
                    sql, "../config/data_base")
            else:
                sql = 'select count(customer_id) from customer where source="%s" and last_status="%s" and region="%s" and create_time between "%s" and "%s"' \
                      % ('网络', marketing_query_info['status'],marketing_query_info['area'],marketing_query_info['starttime'],marketing_query_info['endtime'])
                query_connect_count = Utility.get_connect_one(
                    sql, "../config/data_base")

            if int(result.group(1)) == int(query_connect_count[0]):
                actual = 'query-pass'
            else:
                actual = 'query-fail'
            self.assertEqual(actual, expect)
        else:
            print("查询为空")
        self.driver.quit()
예제 #19
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
예제 #20
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)
예제 #21
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)
예제 #22
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)
예제 #23
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)
예제 #24
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)
예제 #25
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()
예제 #26
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)
예제 #27
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)
예제 #28
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)
예제 #29
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)
예제 #30
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()