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()
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"])
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"])
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"])
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()
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()
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()
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"])
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'])
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"])
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"])
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()
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()
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()
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()
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)