def count_tr(self):
     Service.wait_until_element_is_visible(self.driver, By.CSS_SELECTOR,
                                           '#attendace-result > tbody')
     find_tr = self.driver.find_element_by_css_selector(
         "#attendace-result > tbody").find_elements_by_tag_name("tr")
     sum_tr = len(find_tr)
     return sum_tr
    def do_login(self, base_config_path, login_data):

        Service.open_page(self.driver, base_config_path)
        self.input_uname(login_data['username'])
        self.input_upass(login_data['password'])
        self.input_code(login_data['code'])
        self.click_button()
    def em_real_interview(self, enterprise, jobs, em_interview_time,
                          em_interview_feedback):

        self.driver.find_element_by_link_text('真实面试').click()

        # 企业名称
        Service.box_xpath_click(
            self.driver,
            '/html/body/div[9]/div/div/div[2]/div/div/div[2]/div/div[2]/form/div[1]/'
            'div/button/span[1]', enterprise)
        # 面试岗位
        Service.box_xpath_click(
            self.driver,
            '/html/body/div[9]/div/div/div[2]/div/div/div[2]/div/div[2]/form/div[2]/select',
            jobs)

        # 面试时间
        interview_time = self.driver.find_element_by_id('reatime')
        Service.send_input(interview_time, em_interview_time)

        # 反馈
        interview_feedback = self.driver.find_element_by_id('rearemark')
        Service.send_input(interview_feedback, em_interview_feedback)

        # 保存
        Service.click_id(self.driver, 'saveEditRBtn')
 def input_start_time(self,start_time):
     ele = self.driver.find_element_by_css_selector('#leave-form > div:nth-child(2) > div:nth-child(1) > input')
     js = 'document.querySelector("#leave-form > div:nth-child(2) > div:nth-child(1) > input").value="";'
     ele.click()
     self.driver.execute_script(js)
     Service.send_input(ele,start_time)
     ele.send_keys(Keys.ENTER)
 def click_undo_btn(self):
     Service.wait_until_element_is_visible(
         self.driver, By.CSS_SELECTOR,
         '#apply-table > tbody > tr:nth-child(1) > '
         'td:nth-child(12) > button')
     self.driver.find_element_by_css_selector('#apply-table > tbody > tr:nth-child(1) > td:nth-child(12) > button').\
         click()
Beispiel #6
0
 def input_name(self, name):
     Service.wait_until_element_is_visible(self.driver, By.CSS_SELECTOR,
                                           '#class-table > tbody')
     ele = self.driver.find_element_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.send_input(ele, name)
Beispiel #7
0
 def random_click_interview_btn(self):
     Service.wait_until_element_is_visible(self.driver,By.CSS_SELECTOR,'#stuInfo_table > tbody')
     find_tr = self.driver.find_element_by_css_selector("#stuInfo_table > tbody").find_elements_by_tag_name("tr")
     sum_tr = len(find_tr)
     import random
     self.driver.find_element_by_css_selector('#stuInfo_table > tbody > tr:nth-child(%d) > '
                                              'td:nth-child(9) > button' % (random.randint(1, sum_tr - 1))).click()
 def input_end_time(self,e_timr):
     ele = self.driver.find_element_by_css_selector('#addcourse > div > div:nth-child(2) > input')
     js = 'document.querySelector("#addcourse > div > div:nth-child(2) > input").value="";'
     ele.click()
     self.driver.execute_script(js)
     Service.send_input(ele, e_timr)
     ele.send_keys(Keys.ENTER)
 def select_class(self, class_name):
     Service.wait_until_element_is_visible(self.driver, By.CSS_SELECTOR,
                                           '#exam-table > tbody')
     Service.box_css_click(
         self.driver,
         '#examination > div.col-lg-8.col-md-8.col-sm-12.col-xs-12.con-body-padding.'
         'text-left > select.sel-text.stu-class', class_name)
Beispiel #10
0
 def select_who_on_duty(self, who):
     Service.wait_until_element_is_visible(
         self.driver, By.CSS_SELECTOR,
         '#addDuty-table > tr > td:nth-child(1) > '
         'select')
     Service.box_css_click(
         self.driver, '#addDuty-table > tr > td:nth-child(1) > select', who)
 def click_modify_btn(self):
     Service.wait_until_element_is_visible(
         self.driver, By.CSS_SELECTOR,
         "button[class='btn btn-primary btn-padding']"
         ":nth-child(1)")
     self.driver.find_element_by_css_selector(
         '#enterpriseTb > tbody > tr:nth-child(1) > '
         'td:nth-child(7) > button').click()
 def click_add_enterprise_button(self):
     Service.wait_until_element_is_visible(
         self.driver, By.CSS_SELECTOR,
         "button[class='btn btn-primary btn-padding']"
         ":nth-child(1)")
     self.driver.find_element_by_css_selector(
         "button[class='btn btn-primary btn-padding']:nth-child(1)").click(
         )
 def click_sigle_import_btn(self):
     Service.wait_until_element_is_visible(
         self.driver, By.CSS_SELECTOR,
         '#pe-result > tbody > tr:nth-child(1) >'
         ' td:nth-child(9) > button')
     self.driver.find_element_by_css_selector(
         '#pe-result > tbody > tr:nth-child(1) > td:nth-child(9) > button'
     ).click()
 def input_end_time(self, e_time):
     ele = self.driver.find_element_by_name('e_att_time')
     js = 'document.querySelector("#morningexam > div.col-lg-8.col-md-8.col-sm-12.col-xs-12.con-body-padding.' \
          'text-left > input:nth-child(3)").value="";'
     ele.click()
     self.driver.execute_script(js)
     Service.send_input(ele, e_time)
     ele.send_keys(Keys.ENTER)
 def input_query_name(self, name):
     Service.wait_until_element_is_visible(
         self.driver, By.CSS_SELECTOR,
         '#content > div.row.con-margin.con-body-header > div > '
         'input[type=text]')
     ele = self.driver.find_element_by_css_selector(
         '#content > div.row.con-margin.con-body-header > div > '
         'input[type=text]')
     Service.send_input(ele, name)
 def click_phase_import_btn(self):
     Service.wait_until_element_is_visible(
         self.driver, By.CSS_SELECTOR,
         '#stagetest > div.col-lg-12.col-md-12.col-sm'
         '-12.col-xs-12.con-body-padding.text-left > '
         'div > button:nth-child(2)')
     self.driver.find_element_by_css_selector(
         '#stagetest > div.col-lg-12.col-md-12.col-sm-12.col-xs-12.con-body'
         '-padding.text-left > div > button:nth-child(2)').click()
 def click_random_down_btn(self):
     Service.wait_until_element_is_visible(self.driver, By.CSS_SELECTOR,
                                           '#exam-table > tbody')
     find_tr = self.driver.find_element_by_css_selector(
         "#exam-table > tbody").find_elements_by_tag_name("tr")
     sum_tr = len(find_tr)
     import random
     ram_num = random.randint(1, sum_tr - 1)
     self.driver.find_element_by_css_selector(
         '#exam-table > tbody > tr:nth-child(%d) > td:nth-child(6) >'
         ' button:nth-child(2)' % ram_num).click()
Beispiel #18
0
 def do_refer_to_duty(self, who, date):
     self.click_teaching_manage_link()
     self.click_teacher_duty_link()
     self.click_refer_to_duty()
     self.select_who_on_duty(who)
     self.input_duty_date(date)
     self.click_save_btn()
     Service.wait_until_element_is_visible(
         self.driver, By.CSS_SELECTOR,
         'body > div.bootbox.modal.fade.mydialog.in > '
         'div > div > div.modal-body > div')
Beispiel #19
0
 def random_locat_tr(self):
     Service.wait_until_element_is_visible(self.driver, By.CSS_SELECTOR,
                                           '#class-table > tbody')
     find_tr = self.driver.find_element_by_css_selector(
         "#class-table > tbody").find_elements_by_tag_name("tr")
     sum_tr = len(find_tr)
     import random
     ram_num = random.randint(1, sum_tr - 1)
     self.driver.find_element_by_xpath(
         '//*[@id="class-table"]/tbody/tr[%d]/td[1]/input' %
         ram_num).click()
 def do_query_overtime_application(self, status, code, s_time, e_time):
     self.click_teaching_manage_link()
     self.click_overtime_appliaction_link()
     self.select_approval_status(status)
     self.input_code(code)
     self.input_s_time(s_time)
     self.input_e_time(e_time)
     self.click_query_btn()
     Service.wait_until_element_is_visible(
         self.driver, By.XPATH, '//*[@id="queryPara"]/div[2]/div[2]/div[4]/'
         'div[1]/span[1]')
     ele_text = self.driver.find_element_by_xpath(
         '//*[@id="queryPara"]/div[2]/div[2]/div[4]/div[1]/span[1]').text
     return ele_text
Beispiel #21
0
 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 get_record_text(self):
     if Service.wait_until_element_is_visible(
             self.driver, By.XPATH,
             '//*[@id="stuInfo"]/div[3]/div[2]/div[4]/div[1]/span[1]'):
         ele_text = self.driver.find_element_by_xpath(
             '//*[@id="stuInfo"]/div[3]/div[2]/div[4]/div[1]/span[1]').text
         return ele_text
Beispiel #23
0
    def test_a_modify_login_passwd(self, old, new1, new2, expect):
        self.modify_passwd.do_modify_login_passwd(old, new1, new2)
        username = login_user_info['username']
        sql = f'update system_user set pwd="B5B1C07C180FEFC77671906F382488F2" where name="{username}"'
        if '修改成功' in self.driver.find_element_by_css_selector(
                '#panel-password-success>div.modal-body.modal-warning>div>h4'
        ).text:
            actual = 'login: modify password pass'
            Utility.update_data(login_user_info, sql)
            self.driver.refresh()
        else:
            if Service.is_element_present(
                    self.driver, By.CSS_SELECTOR,
                    'body>div.bootbox.modal.fade.mydialog.in'
                    '>div>div>div.modal-body>div'):
                content = self.driver.find_element_by_css_selector(
                    'body>div.bootbox.modal.fade.mydialog.in'
                    '>div>div>div.modal-body>div').text

                if '新密码和原密码一致' in content:
                    actual = 'login:new vs old is same'
                elif '原密码错误' in content:
                    actual = 'login:old password is wrong'
                elif '请输入原密码' in content:
                    actual = 'login:old passeord is empty'
                elif '两次新密码输入不一致' in content:
                    actual = 'login:new_1st vs new_2st is not equal'
                elif '新密码格式不正确' in content:
                    actual = 'login:new password format is wrong'
                else:
                    actual = 'login:unknow error'
            else:
                actual = 'alert not appear'
            self.driver.refresh()
        self.assertEqual(expect, actual)
 def random_attendance_single(self, status):
     Service.wait_until_element_is_visible(self.driver, By.CSS_SELECTOR,
                                           '#attendance_table > tbody')
     find_tr = self.driver.find_element_by_css_selector(
         "#attendance_table > tbody").find_elements_by_tag_name("tr")
     sum_tr = len(find_tr)
     import random
     ram_num = random.randint(1, sum_tr - 1)
     Service.box_css_click(
         self.driver,
         '#attendance_table > tbody > tr:nth-child(%d) > td:nth-child(7) '
         '> select' % (ram_num), status)
     css_ele = self.driver.find_element_by_css_selector(
         '#attendance_table > tbody > tr:nth-child(%d) > td:nth-child(7) '
         '> button' % (ram_num))
     css_ele.click()
     return css_ele.get_attribute('id')
 def test_a_entry_sigle_phase_exam(self, class_name, score, phase, comment,
                                   expect):
     self.phase_exam.do_entry_sigle_phase_exam(class_name, score, phase,
                                               comment)
     if Service.is_element_present(
             self.driver, By.CSS_SELECTOR,
             'body > div.bootbox.modal.fade.mydialog.in > '
             'div > div'):
         actual = 'test import sigle phase 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']
         phase2_score = dict_attr['phase2']
         phase3_score = dict_attr['phase3']
         phase4_score = dict_attr['phase4']
         sql = f"select score from phase_exam where phase_exam_student_id ='{student_id}' and phase_exam_class_id = '4' order by phase asc"
         db_result = Utility.query_all(user_info, sql)
         print(db_result)
         num = len(db_result)
         print(num)
         print(float(db_result[0][0]))
         print(float(phase1_score))
         if num == 1:
             if float(db_result[0][0]) == float(phase1_score):
                 actual = 'test import sigle phase exam pass'
             else:
                 actual = 'test import sigle phase exam fail'
         elif num == 2:
             if float(db_result[0][0]) == float(phase1_score) and float(
                     db_result[1][0]) == float(phase2_score):
                 actual = 'test import sigle phase exam pass'
             else:
                 actual = 'test import sigle phase exam fail'
         elif num == 3:
             if float(db_result[0][0]) == float(phase1_score) and float(db_result[1][0]) == float(phase2_score) and \
                     float(db_result[2][0]) == float(phase3_score):
                 actual = 'test import sigle phase exam pass'
             else:
                 actual = 'test import sigle phase exam fail'
         elif num == 4:
             if float(db_result[0][0]) == float(phase1_score) and float(db_result[1][0]) == float(phase2_score) and float(db_result[2][0]) == float(phase3_score)\
                      and float(db_result[3][0]) == float(phase4_score):
                 actual = 'test import sigle phase exam pass'
             else:
                 actual = 'test import sigle phase exam fail'
         else:
             actual = 'test import sigle phase exam fail'
     self.assertEqual(expect, actual)
 def test_decrypt(cls,second_pwd,expect):
     cls.decrypt.do_decrypt(second_pwd)
     if Service.is_element_present(cls.driver, By.CSS_SELECTOR, 'body > div.bootbox.modal.fade.mydialog.in > div > '
                                                                'div > div.modal-body > div'):
         actual = 'test decrypt fail'
         cls.driver.refresh()
     else:
         actual = 'test decrypt pass'
     cls.assertEqual(expect,actual)
    def em_submit(self):
        # 电脑回收
        Service.click_id(self.driver, 'computer0')

        # 协议签署
        Service.click_id(self.driver, 'protocol0')

        # 已入职
        Service.click_id(self.driver, 'entry0')

        # 提交
        Service.click_css(
            self.driver,
            '/html/body/div[7]/div[3]/div/div/div/div[2]/div[3]/div[2]/div[2]/'
            'table/tbody/tr[1]/td[9]/button[2]')

        # 确认弹窗

        Service.alert_windows(self.driver)
Beispiel #28
0
	def test_em_student_id_query(cls, student_id_query, expect):
		try:
			EmploymentManagement(cls.driver).em_student_id_query(student_id_query)

			actual = Service.text_css(cls.driver,'/html/body/div[7]/div[3]/div/div/div/div[2]/div[3]/div[2]/div[2]/table/tbody/tr[1]/td[1]')
			cls.assertEqual(actual, expect)
			cls.driver.refresh()
		except Exception as e:
			actual = 'EM_failed'
			cls.driver.refresh()
			cls.assertEqual(actual, expect)
Beispiel #29
0
	def test_em_interview_query(cls, technology, expect):
		try:
			EmploymentManagement(cls.driver).em_technology_query(technology)

			actual = Service.text_xpath(cls.driver,'/html/body/div[7]/div[3]/div/div/div/div[1]/div[2]/div[2]/div[2]/table/tbody/tr[1]/td[1]')
			cls.assertEqual(actual, expect)
			cls.driver.refresh()
		except Exception as e:
			actual = 'EM_failed'
			cls.driver.refresh()
			cls.assertEqual(actual, expect)
 def do_add_overtime_application(self, s_time, e_time, way, hours, region,
                                 reason):
     self.click_teaching_manage_link()
     self.click_overtime_appliaction_link()
     self.click_add_btn()
     self.input_add_s_time(s_time)
     self.input_add_e_time(e_time)
     self.select_pay_way(way)
     self.select_add_hours(hours)
     self.select_add_region(region)
     self.input_add_reason(reason)
     self.click_add_commit_btn()
     Service.wait_until_element_is_visible(
         self.driver, By.CSS_SELECTOR,
         'body > div.bootbox.modal.fade.mydialog.in >'
         ' div > div')
     ele_text = self.driver.find_element_by_css_selector(
         'body > div.bootbox.modal.fade.mydialog.in > div > div >'
         ' div.modal-body > div').text
     return ele_text