def test_b_do_iterview(self,result,comment,expect): sql = 'select count(*) from skill_record' db_result1 = Utility.query_one(user_info,sql) ele_text = self.technical_interview.do_interview(result,comment) db_result2 = Utility.query_one(user_info,sql) if '保存成功' in ele_text and db_result2[0] - db_result1[0] == 1: actual = 'test do technical interview pass' else: actual = 'test do technical interview fail' self.driver.refresh() self.assertEqual(expect,actual)
def test_b_add_overtime_application(self, s_time, e_time, way, hours, region, reason, expect): sql = 'select count(*) from apply' db_result1 = Utility.query_one(user_info, sql) alert_text = self.overtime_application.do_add_overtime_application( s_time, e_time, way, hours, region, reason) db_result2 = Utility.query_one(user_info, sql) if '加班申请已提交' in alert_text and db_result2[0] - db_result1[0] == 1: actual = 'test add overtime application pass' else: actual = 'test add overtime application fail' self.driver.refresh() self.assertEqual(expect, actual)
def test_b_refer_to_duty(self, who, date, expect): sql = 'select count(*) from duty' db_result1 = Utility.query_one(user_info, sql) self.teacher_duty.do_refer_to_duty(who, date) db_result2 = Utility.query_one(user_info, sql) ele_text = self.driver.find_element_by_css_selector( 'body > div.bootbox.modal.fade.mydialog.in > div > div ' '> div.modal-body > div').text if '新增值班成功' in ele_text and db_result2[0] - db_result1[0] == 1: actual = 'test refer to duty pass' else: actual = 'test refer to duty fail' self.driver.refresh() self.assertEqual(expect, actual)
def test_b_entry_sigle_exam(self, class_name, phase, week, score, expect): self.week_exam.do_entry_sigle_score(class_name, phase, week, score) if Service.is_element_present( self.driver, By.CSS_SELECTOR, 'body > div.bootbox.modal.fade.mydialog.in' ' > div > div'): actual = 'test entry sigle exam fail' self.driver.refresh() else: ele = self.driver.find_element_by_css_selector( '#pe-result > tbody > tr:nth-child(1) > ' 'td:nth-child(9) > button') attr = ele.get_attribute('onclick') print(attr) attr_dict = attr.split('(')[1].split(')')[0] import json dict_attr = json.loads(attr_dict, encoding='utf-8') student_id = dict_attr['student_id'] phase1_score = dict_attr['phase1'] sql1 = f"select AVG(score) from week_exam where week_exam_student_id='{student_id}' and phase='01'" db_result = Utility.query_one(user_info, sql1) print(db_result, phase1_score) if db_result[0] == int(phase1_score): actual = 'test entry sigle exam pass' else: actual = 'test entry sigle exam fail' self.assertEqual(expect, actual)
def test_a_query_week_exam_info(self, class_name, stu_name, expect): self.week_exam.do_query_week_exam_info(class_name, stu_name) time.sleep(2) if class_name == '全部': re_class = '%' else: re_class = class_name if stu_name == '': re_name = '%' else: re_name = stu_name sql = f"select count(*) from student where student_class_id in (select class_id from class where class_no like '{re_class}' " \ f") and status like '02' and student_name like '{re_name}%'" db_result = Utility.query_one(user_info, sql) sum_text = self.driver.find_element_by_css_selector( '#stagetest > div.bootstrap-table > div.fixed-table-container >' ' div.fixed-table-pagination > div.pull-left.pagination-detail >' ' span.pagination-info').text if '总共' in sum_text: sum_num = sum_text.split('总共 ')[1].split(' 条')[0] if db_result[0] == int(sum_num): actual = 'test query week exam pass' else: actual = 'test query week exam fail' else: actual = 'test query week exam fail' self.assertEqual(expect, actual)
def test_a_click_homework(self, level, expect): attr = self.daily_exam.do_click_homework_btn(level) attr_dict = attr.split('(')[1].split(',$')[0] import json dict_attr = json.loads(attr_dict, encoding='utf-8') homeword_id = dict_attr['homework_id'] sql = f'select result from homework where homework_id = {homeword_id}' db_result = Utility.query_one(user_info, sql) if db_result: if db_result[0] == '01': re = '忧' elif db_result[0] == '02': re = '良' elif db_result[0] == '03': re = '中' elif db_result[0] == '04': re = '查' else: re = '未交' else: re = '' if re == level: actual = 'test do homework pass' else: actual = 'test do homework fail' self.assertEqual(expect, actual)
def test_b_click_morning_exam(self, level, expect): attr = self.daily_exam.do_click_morning_exam(level) attr_dict = attr.split('(')[1].split(',$')[0] import json dict_attr = json.loads(attr_dict, encoding='utf-8') student_id = dict_attr['student_id'] sql = f'select result from morn_exam where morn_exam_student_id = {student_id} ' \ f'order by morn_exam_id desc limit 1' db_result = Utility.query_one(user_info, sql) if db_result: if db_result[0] == '01': re = '优' elif db_result[0] == '02': re = '良' elif db_result[0] == '03': re = '中' elif db_result[0] == '04': re = '查' else: re = '未交' else: re = '' if re == level: actual = 'test do morning exam pass' else: actual = 'test do morning exam fail' self.assertEqual(expect, actual)
def test_fm_modify_water(cls, one_subject, two_subject, fm_type, settlement, fm_trading_time, head, payment, fm_amount, trading, fm_other_trading, fm_capital_uses, expect): try: FinancialManagement(cls.driver).fm_new_water( one_subject, two_subject, fm_type, settlement, fm_trading_time, head, payment, fm_amount, trading, fm_other_trading, fm_capital_uses) capital_uses = f"'{fm_capital_uses}'" sql = f'SELECT first_subject_id FROM detailed_dealings WHERE comm = {capital_uses} ;' fm_modify_water = Utility.query_one(fm_financial_user_info, sql) fm_results = fm_modify_water[0] if fm_results == one_subject: actual = 'FM_correct' else: actual = 'FM_failed' cls.driver.refresh() cls.assertEqual(actual, expect) cls.driver.refresh() except Exception as e: actual = 'FM_failed' cls.driver.refresh() cls.assertEqual(actual, expect)
def test_b_add_course(self, s_time, e_time, teacher, classroom, class_num, course, expect): sql = 'select count(*) from curriculum_schedule' db_result1 = Utility.query_one(user_info, sql) self.course_schedule.do_add_curriculum(s_time, e_time, teacher, classroom, class_num, course) time.sleep(5) text = self.driver.find_element_by_css_selector( 'body > div.bootbox.modal.fade.mydialog.in > div > div >' ' div.modal-body > div').text db_result2 = Utility.query_one(user_info, sql) if '排课成功' in text and db_result2[0] - db_result1[0] == 1: actual = 'test add course pass' else: actual = 'test add course fail' self.driver.refresh() self.assertEqual(expect, actual)
def test_today_morning_exam(cls, method, score, question, expect): import time local_time = time.strftime('%Y-%m-%d', time.localtime(time.time())) sql = f'select count(*) from morn_exam where create_time like "{local_time}%"' db_result1 = Utility.query_one(today_morning_exam_user_info, sql) cls.today_morning_exam.do_morning_exam(method, score, question) db_result2 = Utility.query_one(today_morning_exam_user_info, sql) num = db_result2[0] - db_result1[0] if num == 1: actual = 'test today morning exam pass' sql_del = 'delete from morn_exam order by morn_exam_id desc limit 1' Utility.update_data(today_morning_exam_user_info, sql_del) else: actual = 'test today morning exam fail' cls.assertEqual(expect, actual)
def test_b_import_all_phase_exam(self, class_name, phase, file_path, expect): sql = 'select count(*) from phase_exam' db_result1 = Utility.query_one(user_info, sql) self.phase_exam.do_import_phase_exam(class_name, phase, file_path) db_result2 = Utility.query_one(user_info, sql) if Service.is_element_present( self.driver, By.CSS_SELECTOR, 'body > div.bootbox.modal.fade.mydialog.in > div > div'): actual = 'test import all phase exam fail' self.driver.refresh() else: if db_result2[0] - db_result1[0] >= 1: actual = 'test import all phase exam pass' else: actual = 'test import all phase exam fail' self.assertEqual(expect, actual)
def test_c_upload_exam(self, class_name, phase, week, file_path, expect): sql = 'select count(*) from week_exam' db_result1 = Utility.query_one(user_info, sql) self.week_exam.do_upload_week_exam(class_name, phase, week, file_path) time.sleep(5) db_result2 = Utility.query_one(user_info, sql) print(db_result1, db_result2) if Service.is_element_present( self.driver, By.CSS_SELECTOR, 'body > div.bootbox.modal.fade.' 'mydialog.in > div > div'): actual = 'test upload exam file fail' self.driver.refresh() else: if db_result2[0] - db_result1[0] >= 1: actual = 'test upload exam file pass' else: actual = 'test upload exam file fail' self.assertEqual(expect, actual)
def test_a_query_info(self,teacher,expect): ele_text = self.course_schedule.do_query_teacher_info(teacher) sum_record = ele_text.split('总共 ')[1].split(' 条')[0] sql = 'select count(*) from curriculum_schedule where work_id = WNCD005' db_result = Utility.query_one(user_info,sql) if db_result[0] == int(sum_record): actual = 'query teacher schedule pass' else: actual = 'query teacher schedule fail' self.assertEqual(expect,actual)
def test_c_attendance_all(cls, kn, expect): cls.today_attendance.do_attendance_all() record_sum = cls.today_attendance.get_record_text() sql = f'select count(teacher_id) from attendance where create_time like "{local_time}%"' db_result = Utility.query_one(search_att_user_info, sql) if str(db_result[0]) in record_sum: actual = 'test all attendance pass' else: actual = 'test all attendance fail' cls.assertEqual(expect, actual)
def test_b_add_leave(cls, s_time, e_time, type, days, name, reason, comment, expect): sql = 'select count(*) from student_leave where create_time >"2020-03-01" and leave_status="请假中"' db_result1 = Utility.query_one(user_info, sql) attr = cls.take_leave.do_add_leave(s_time, e_time, type, days, name, reason, comment) get_obj = attr.split('(')[1].split(')')[0] import json dict_attr = json.loads(get_obj, encoding='utf-8') student_name = dict_attr['student_name'] db_result2 = Utility.query_one(user_info, sql) if Service.wait_until_element_is_visible(cls.driver,By.CSS_SELECTOR, 'body > div.bootbox.modal.fade.mydialog.in > div > ' 'div > div.modal-body > div')\ and db_result2[0] - db_result1[0] == 0 and student_name != name: actual = 'test add leave fail' cls.driver.refresh() else: actual = 'test add leave pass' cls.assertEqual(expect, actual)
def test_a_query_leave(cls, unknow, expect): cls.take_leave.do_query_leave() time.sleep(5) page_lines = cls.take_leave.get_leave_record() sql = 'select count(*) from student_leave where create_time >"2020-03-01" and leave_status="请假中"' db_result = Utility.query_one(user_info, sql) if db_result[0] == page_lines: actual = 'test query leave pass' else: actual = 'test query leave fail' cls.assertEqual(expect, actual)
def test_e_cancel_leave(cls, unknow, expect): attr = cls.take_leave.do_cancel_leave() get_obj = attr.split('(')[1].split(')')[0] import json dict_attr = json.loads(get_obj, encoding='utf-8') leave_id = dict_attr['leave_id'] sql = f'select leave_status from student_leave where leave_id={leave_id}' db_result = Utility.query_one(user_info, sql) if db_result[0] == '已销假': actual = 'test cancel leave record pass' else: actual = 'test cancel leave record fail' cls.assertEqual(expect, actual)
def test_b_attendance_one(cls, status, expect): attr = cls.today_attendance.do_random_attandence(status) time.sleep(5) stu_id = attr.split("_")[1] print(stu_id) sql = f'select result from attendance where attendance_student_id={stu_id} and update_time like "{local_time}%"' db_result = Utility.query_one(search_att_user_info, sql) print(db_result) if db_result[0] == status: actual = 'test random attendance pass' else: actual = 'test random attendance fail' cls.assertEqual(expect, actual)
def test_b_add_enterprise(self, enter_name, ent_industry, enter_address, enter_person, enter_tel, email, qq, expect): sql = 'select count(*) from enterprise_info' db_result1 = Utility.query_one(user_info, sql) content = self.enterprise_info.do_add_enterprise( enter_name, ent_industry, enter_address, enter_person, enter_tel, email, qq) db_result2 = Utility.query_one(user_info, sql) result = db_result2[0] - db_result1[0] time.sleep(5) if "不能为空" in content: actual = 'test add corporate customer fail' self.enterprise_info.click_close_btn() elif '新增成功' in content: if result == 1: actual = 'test add corporate customer pass' else: actual = 'test add corporate customer fail' else: actual = 'test add corporate customer fail' self.driver.refresh() self.assertEqual(expect, actual)
def test_query_all_exam_record(cls, class_name, guide, name, s_time, e_time, expect): sum_text = cls.exam_record.do_query_all_record(class_name, guide, name, s_time, e_time) time.sleep(5) sum_num = sum_text.split('总共 ')[1].split(' 条')[0] sql = 'select count(*) from morn_exam' db_result = Utility.query_one(user_info, sql) if int(sum_num) == db_result[0]: actual = 'test query all morning exam record pass' else: actual = 'test query all morning exam record fail' cls.assertEqual(expect, actual)
def test_c_upload_picture(self, path, expect): attr = self.take_leave.do_upload_leave_permit(path) print(attr) get_obj = attr.split('(')[1].split(')')[0] import json dict_attr = json.loads(get_obj, encoding='utf-8') leave_id = int(dict_attr['leave_id']) sql = 'select path from student_leave where leave_id=%d' % leave_id db_result = Utility.query_one(user_info, sql) if db_result != None: actual = 'test upload picture pass' else: actual = 'test upload picture fail' self.assertEqual(expect, actual)
def test_b_add_course_schedule(cls,s_time,e_time,status1,classroom1,class1,orientation1,course1, status2,classroom2,class2,orientation2,course2, status3,classroom3,class3,orientation3,course3, status4,classroom4,class4,orientation4,course4, status5,classroom5,class5,orientation5,course5, status6,classroom6,class6,orientation6,course6, status7,classroom7,class7,orientation7,course7, status8,classroom8,class8,orientation8,course8, status9,classroom9,class9,orientation9,course9,expect): sql ='select count(*) from curriculum_schedule' db_result1 = Utility.query_one(user_info,sql) attr = cls.course_schedule.do_add_curriculum(s_time,e_time,status1,classroom1,class1,orientation1,course1, status2,classroom2,class2,orientation2,course2, status3,classroom3,class3,orientation3,course3, status4,classroom4,class4,orientation4,course4, status5,classroom5,class5,orientation5,course5, status6,classroom6,class6,orientation6,course6, status7,classroom7,class7,orientation7,course7, status8,classroom8,class8,orientation8,course8, status9,classroom9,class9,orientation9,course9) print(attr) db_result2 = Utility.query_one(user_info,sql) num = db_result2[0] - db_result1[0] time.sleep(2) if Service.is_element_present(cls.driver,By.CSS_SELECTOR,'body > div.bootbox.modal.fade.mydialog.in > div > ' 'div > div.modal-footer > button'): actual = 'test add course schedule fail' cls.driver.refresh() else: if 'none' in attr and num ==9: actual = 'test add course schedule pass' else: actual = 'test add course schedule fail' cls.assertEqual(expect,actual)
def test_a_serach_stu_info(cls, orien_name,class_name,status_name,stu_name,expect): cls.student_info.do_search_info(orien_name,class_name,status_name,stu_name) time.sleep(2) if status_name == '全部': re_status = '%' elif status_name == '未开班': re_status = '01' elif status_name == '在校学习': re_status = '02' elif status_name == '转就业': re_status = '03' elif status_name == '已就业': re_status = '04' elif status_name == '已休学': re_status = '05' elif status_name == '已失联': re_status = '06' else: re_status = '07' if stu_name == '': re_name = '%' else: re_name = stu_name if class_name == '全部': re_class = '%' else: re_class = class_name if orien_name == '全部': re_orien = '%' else: re_orien = orien_name sql = f"select count(*) from student where student_class_id in (select class_id from class where class_no like '{re_class}' " \ f"and orientation like '{re_orien}') and status like '{re_status}' and student_name like '{re_name}%'" db_result = Utility.query_one(search_stu_user_info,sql) sum_text = cls.driver.find_element_by_css_selector('#stuInfo > div.bootstrap-table > div.fixed-table-container' '> div.fixed-table-pagination > div.pull-left.' 'pagination-detail > span.pagination-info').text if '总共' in sum_text: sum_num = sum_text.split('总共 ')[1].split(' 条')[0] if db_result[0] == int(sum_num): actual = 'test query student info pass' else: actual = 'test query student info fail' else: actual = 'test query student info fail' cls.assertEqual(expect,actual)
def test_c_undo_overtime_application(self, unkonw, expect): attr1, attr2 = self.overtime_application.do_undo_action() attr_dict = attr1.split('(')[1].split(')')[0] import json dict_attr = json.loads(attr_dict, encoding='utf-8') id = dict_attr['id'] sql1 = f'select status from apply where id ={id}' db_result = Utility.query_one(user_info, sql1) time.sleep(2) status_text = self.overtime_application.get_line1_status() if '已撤销' in status_text and db_result[0] == '04' and attr2 == 'true': actual = 'test undo overtime application pass' sql2 = f"UPDATE apply SET status='03' WHERE (`id`='{id}')" Utility.update_data(user_info, sql2) else: actual = 'test undo overtime application fail' self.assertEqual(expect, actual)
def test_pm_modify_input(cls, area, department, uname, number, position, gender, phone, email, qq, state, expect): try: PersonnelManagement(cls.driver).pm_modify_input( area, department, uname, number, position, gender, phone, email, qq, state) sql = 'SELECT work_id FROM employee WHERE work_id = %s;' % number pm_new = Utility.query_one(pm_employees_user_info, sql) results = pm_new[0] if results == number: actual = 'PM_correct' else: actual = 'PM_failed' cls.driver.refresh() cls.assertEqual(actual, expect) cls.driver.refresh() except Exception as e: actual = 'PM_failed' cls.driver.refresh() cls.assertEqual(actual, expect)
def test_em_induction(cls, enterprise, jobs, em_induction_time, em_induction_salary, em_interview_note, expect): try: EmploymentManagement(cls.driver).em_induction(enterprise, jobs, em_induction_time,em_induction_salary, em_interview_note) em_enterprise = f"'{enterprise}'" induction_salary = f"'{em_induction_salary}'" sql = f'SELECT job_position FROM job_register WHERE ent_name = {em_enterprise} and operator = {induction_salary};' em_induction = Utility.query_one(em_technology_user_info, sql) em_results = em_induction[0] if em_results == jobs: actual = 'EM_correct' else: actual = 'EM_failed' cls.driver.refresh() cls.assertEqual(actual, expect) cls.driver.refresh() except Exception as e: actual = 'EM_failed' cls.driver.refresh() cls.assertEqual(actual, expect)
def test_em_mock_interviews(cls, em_xpected_salary, mock_interviews, em_note, expect): try: EmploymentManagement(cls.driver).em_mock_interviews(em_xpected_salary, mock_interviews, em_note) interviews = f"'{mock_interviews}'" note = f"'{em_note}'" sql = f'SELECT intent_salary FROM mockinterview WHERE comm = {interviews} and remark = {note};' em_mock_interviews = Utility.query_one(em_technology_user_info, sql) em_results = em_mock_interviews[0] if em_results == em_xpected_salary: actual = 'EM_correct' else: actual = 'EM_failed' cls.driver.refresh() cls.assertEqual(actual, expect) cls.driver.refresh() except Exception as e: actual = 'EM_failed' cls.driver.refresh() cls.assertEqual(actual, expect)
def test_em_real_interview(cls, enterprise, jobs, em_interview_time, em_interview_feedback, expect): try: EmploymentManagement(cls.driver).em_real_interview(enterprise, jobs, em_interview_time, em_interview_feedback) interview_time = f"'{em_interview_time}'" interview_feedback = f"'{em_interview_feedback}'" sql = f'SELECT interview_post FROM realinterview WHERE rinterview_time = {interview_time} and remark = {interview_feedback};' em_real_interview = Utility.query_one(em_technology_user_info, sql) em_results = em_real_interview[0] if em_results == jobs: actual = 'EM_correct' else: actual = 'EM_failed' cls.driver.refresh() cls.assertEqual(actual, expect) cls.driver.refresh() except Exception as e: actual = 'EM_failed' cls.driver.refresh() cls.assertEqual(actual, expect)
def test_em_technology_interview(cls, results, em_questions, em_evaluation, expect): try: EmploymentManagement(cls.driver).em_technology_interview(results, em_questions, em_evaluation) questions = f"'{em_questions}'" valuate = f"'{em_evaluation}'" sql = f'SELECT result FROM skill_record WHERE questions = {questions} and valuate= {valuate};' em_technology_interview = Utility.query_one(em_technology_user_info, sql) em_results = em_technology_interview[0] if em_results == results: actual = 'EM_correct' else: actual = 'EM_failed' cls.driver.refresh() cls.assertEqual(actual, expect) cls.driver.refresh() except Exception as e: actual = 'EM_failed' cls.driver.refresh() cls.assertEqual(actual, expect)