def request_for_overtime(driver, remark, file_path): """ # 加班申请 :param driver: :param remark:备注信息 :param file_path: 附件路径 :return: """ into_one_level(driver, '任务面板') sleep(1) into_one_level(driver, '发起申请') get_element(driver, ('xpath', "//div[contains(text(),'加班申请')]")).click() get_element(driver, ('id', 'leaveAdd')).click() sleep(0.5) element = "//*[@id='lay-user-f']/tbody/tr" for i in range(0, len(get_elements(driver, ('xpath', element))), 2): elements = "//tr[@data-index='%s']/td/input" % i get_element(driver, ('xpath', elements)).click() sleep(0.1) get_element(driver, ('xpath', "//button[contains(text(),'添加至已选')]")).click() get_element(driver, ('xpath', "//a[contains(text(),'确定')]")).click() setting_input_time(driver) get_elements(driver, ('xpath', "//div[@class='col-sm-6']/input"))[0].send_keys( get_now_dates()) get_element( driver, ('xpath', "//input[@placeholder='选择时间需小于加班结束时间']")).send_keys('20:00') get_element( driver, ('xpath', "//input[@placeholder='选择时间需大于加班开始时间']")).send_keys('21:00') overtime_type = "//select[@class='form-control input-sm']/option[%s]" % str( random.randint(1, 2)) get_element(driver, ('xpath', overtime_type)).click() get_element( driver, ('xpath', "//textarea[@class='form-control']")).send_keys(remark) get_element( driver, ('xpath', "//div[@id='uploadFile']/input")).send_keys(file_path) get_element(driver, ('xpath', "//button[contains(text(),'提交申请')]")).click() get_element(driver, ('id', "success")).click() sleep(0.5) into_one_level(driver, '我的任务') get_element(driver, ('xpath', "//a[contains(text(),'我发起的')]")).click() try: get_element(driver, ('xpath', "//button[contains(text(),'加班工作流')]")).click() get_element( driver, ('xpath', "//*[@id='task-mytask-table']/tbody/tr[1]/td[8]/a")).click() assert_element = "//div[@class='tsk-inp col-xs-8' and contains(text(),'%s')]" % remark assert is_element_present(driver, ('xpath', assert_element)) except Exception as e: print(e) bug_photo(driver) assert False
def batch_add_workman(driver, file_path, remark): # 批量发起请假申请 """ :param driver: :param file_path: 附件路径 :param remark: 备注信息 :return: """ into_one_level(driver, '任务面板') sleep(1) into_one_level(driver, '发起申请') get_element(driver, ('xpath', "//div[contains(text(),'请假申请')]")).click() sleep(0.5) # 请假类型 element = "//select[@class='form-control input-sm']/option[%s]" % str( random.randint(1, 7)) get_element(driver, ('xpath', element)).click() get_element(driver, ('id', 'leaveAdd')).click() sleep(0.5) for i in range(0, 3): elements = "//tr[@data-index='%s']/td/input" % i get_element(driver, ('xpath', elements)).click() sleep(0.1) get_element(driver, ('xpath', "//a[contains(text(),'确定')]")).click() setting_input_time(driver) get_elements(driver, ('xpath', "//input[@placeholder='选择日期在合同范围内']"))[0].send_keys( get_now_dates()) get_elements(driver, ('xpath', "//input[@placeholder='选择日期在合同范围内']"))[1].send_keys( get_tomorrow_dates()) get_element( driver, ('xpath', "//textarea[@class='form-control']")).send_keys(remark) get_element( driver, ('xpath', "//div[@id='uploadFile']/input")).send_keys(file_path) get_element(driver, ('xpath', "//button[contains(text(),'提交申请')]")).click() get_element(driver, ('id', "success")).click() sleep(1.5) into_one_level(driver, '我的任务') get_element(driver, ('xpath', "//a[contains(text(),'我发起的')]")).click() try: get_element(driver, ('xpath', "//button[contains(text(),'请假工作流')]")).click() sleep(3) get_element( driver, ('xpath', "//*[@id='task-mytask-table']/tbody/tr[1]/td[8]/a")).click() assert_element = "//div[@class='tsk-inp col-xs-8' and contains(text(),'%s')]" % remark is_element_present(driver, ('xpath', assert_element)) except Exception as e: print(e) print('工人已经存在请假工作流,无法继续发起') bug_photo(driver) assert False
def to_apply_for_leave(driver, file_path, remark): """ :param driver: :param file_path: 附件路径 :param remark: 备注 :return: """ into_one_level(driver, '任务面板') sleep(1) into_one_level(driver, '发起申请') get_element(driver, ('xpath', "//div[contains(text(),'请假申请')]")).click() sleep(0.5) element = "//select[@class='form-control input-sm']/option[%s]" % str( random.randint(1, 7)) get_element(driver, ('xpath', element)).click() get_element(driver, ('id', 'leaveAdd')).click() get_element(driver, ('id', 'realname')).send_keys('曹永') get_element(driver, ('id', 'realsearch')).click() sleep(0.5) get_element( driver, ('xpath', "//*[@id='lay-user-f']/tbody/tr/td[1]/input")).click() get_element(driver, ('xpath', "//button[contains(text(),'添加至已选')]")).click() get_element(driver, ('xpath', "//a[contains(text(),'确定')]")).click() setting_input_time(driver) get_elements(driver, ('xpath', "//input[@placeholder='选择日期在合同范围内']"))[0].send_keys( get_now_dates()) get_elements(driver, ('xpath', "//input[@placeholder='选择日期在合同范围内']"))[1].send_keys( get_tomorrow_dates()) get_element( driver, ('xpath', "//textarea[@class='form-control']")).send_keys(remark) get_element( driver, ('xpath', "//div[@id='uploadFile']/input")).send_keys(file_path) get_element(driver, ('xpath', "//button[contains(text(),'提交申请')]")).click() get_element(driver, ('id', "success")).click() sleep(2) into_one_level(driver, '我的任务') get_element(driver, ('xpath', "//a[contains(text(),'我发起的')]")).click() try: get_element(driver, ('xpath', "//button[contains(text(),'请假工作流')]")).click() get_element( driver, ('xpath', "//*[@id='task-mytask-table']/tbody/tr[1]/td[8]/a")).click() assert_element = "//div[@class='tsk-inp col-xs-8' and contains(text(),'%s')]" % remark assert is_element_present(driver, ('xpath', assert_element)) except Exception as e: print(e) bug_photo(driver) assert False
def change_time_of_attendance(driver, remark, file_path): try: into_one_level(driver, '任务面板') sleep(1) into_one_level(driver, '发起申请') get_element(driver, ('xpath', "//div[contains(text(),'修改出勤时间')]")).click() get_element(driver, ('id', 'leaveAdd')).click() sleep(0.5) element = "//*[@id='lay-user-f']/tbody/tr" for i in range(0, len(get_elements(driver, ('xpath', element))), 2): elements = "//tr[@data-index='%s']/td/input" % i get_element(driver, ('xpath', elements)).click() sleep(0.1) get_element(driver, ('xpath', "//button[contains(text(),'添加至已选')]")).click() get_element(driver, ('xpath', "//a[contains(text(),'确定')]")).click() setting_input_time(driver) get_element( driver, ('xpath', "//input[@placeholder='选择日期不得小于当前日期']")).send_keys( get_now_dates()) get_elements( driver, ('xpath', "//input[@placeholder='']"))[0].send_keys('08:00') get_elements( driver, ('xpath', "//input[@placeholder='']"))[1].send_keys('17:00') get_element( driver, ('xpath', "//textarea[@class='form-control']")).send_keys(remark) get_element( driver, ('xpath', "//div[@id='uploadFile']/input")).send_keys(file_path) get_element(driver, ('xpath', "//button[contains(text(),'提交申请')]")).click() get_element(driver, ('id', "success")).click() sleep(0.5) into_one_level(driver, '我的任务') get_element(driver, ('xpath', "//a[contains(text(),'我发起的')]")).click() get_element( driver, ('xpath', "//button[contains(text(),'修改出勤时间工作流')]")).click() get_element( driver, ('xpath', "//*[@id='task-mytask-table']/tbody/tr[1]/td[8]/a")).click() assert_element = "//div[@class='tsk-inp col-xs-8' and contains(text(),'%s')]" % remark assert is_element_present(driver, ('xpath', assert_element)) except Exception as e: print(e) bug_photo(driver) assert False
def the_contract_comes_into_effect(driver, switch): # 合同生效 if switch: # 选择城市 sub_select_city_choice(driver) get_element( driver, ('xpath', "//input[@placeholder='选择日期不得晚于当前日期']")).send_keys( get_now_dates()) conditions_element = "//div[@id='sub_contract']/form/div[8]/div[2]/div[3]/div/select/option[%d]" % random.randint( 2, 3) get_element(driver, ('xpath', conditions_element)).click() else: pass
def initiate_artifacts(driver, file_path): # 工件审核 into_one_level(driver, '任务面板') sleep(1) into_one_level(driver, '发起申请') get_element(driver, ('xpath', "//div[contains(text(),'工件审核')]")).click() sleep(0.5) get_elements( driver, ('xpath', "//i[@class='glyphicon glyphicon-plus']"))[0].click() input_element = "//*[@id='lay-user-f']/tbody/tr[1]/td[1]/input" get_element(driver, ('xpath', input_element)).click() get_element(driver, ('xpath', "//a[contains(text(),'确定')]")).click() element = "//select[@class='form-control input-sm']/option[2]" try: get_element(driver, ('xpath', element)).click() except Exception as e: print(e) assert False, "没有此工件" get_element(driver, ('xpath', "//input[@placeholder='数量为整数']")).send_keys( random.randint(1, 9)) setting_input_time(driver) get_element(driver, ('xpath', "//input[@placeholder='选择日期需小于或等于今天']")).send_keys( get_now_dates()) get_elements( driver, ('xpath', "//div[@class='col-sm-6']/input[1]"))[2].send_keys('优秀') get_element(driver, ('xpath', "//input[@data-min-message='输入值不能小于0']")).send_keys( random.randint(1, 100)) get_element( driver, ('xpath', "//div[@id='uploadFile']/input")).send_keys(file_path) get_element(driver, ('xpath', "//button[contains(text(),'提交申请')]")).click() sleep(0.5) get_element(driver, ('id', 'success')).click() sleep(1) try: '成功' == get_element( driver, ('xpath', "//div[@class='layui-layer-content layui-layer-padding']")).text except Exception as e: print(e) bug_photo(driver) assert False
def attendance_instant_add(ws_driver, result, card_num): attendance_parameter = { "command": { "path": "project.consumer.AttendanceInstantAdd" }, "parameters": { "attendance_instant_form": [{ "card_num": card_num, "type": random.randint(1, 2), "day": get_now_dates(), "time": get_now_time() }], "sid": result['data']['sid'] } } result = ws_driver.web_socket_request(attendance_parameter) assert result['code'] == 1000 assert result['msg'] == '成功:操作'
def test_run_all_case(self): print(self.case_path) discover = unittest.defaultTestLoader.discover(self.case_path, "test_*", top_level_dir=None) print(discover) result = BeautifulReport(discover) a = result.report(filename='测试报告', description='执行测试报告', log_path=self.report_path) if a is None: config = ConfigParser() config.read(setting_path()) mail_to_list = {config.get('mail', 'to_list'), config.get('mail', 'to_list1'), config.get('mail', 'to_list2')} # 收件人(列表) # mail_to_list = [config.get('mail', 'to_list')] # 收件人(列表) mail_title = str(get_now_dates()) + 'WebUI测试报告' for i in range(1): # 发送1封,填写1 就是list中的人,每人发一封 if send_mail(mail_to_list, mail_title, 'Please check the attachment.', config.get('mail', 'user'), config.get('mail', 'pass')): # 邮件主题和邮件内容 print("done!") else: print("failed!") else: pass
def general_contract(driver, contract_name, contract_awarding, contracting, project_name): """ :param driver: :param contract_name:合同名称 :param contract_awarding: 发包方 :param contracting: 总承包方 :param project_name: 工程名称 :return: """ driver.implicitly_wait(5) try: into_one_level(driver, '任务面板') sleep(0.5) into_two_level(driver, '发起申请') # WebDriverWait(driver, 10).until(lambda x: x.find_element_by_xpath("//div[contains(text(),'新建总包合同')")).click() driver.find_element_by_xpath( "//div[contains(text(),'新建总包合同')]").click() # get_element(driver, ('XPATH', "//div[contains(text(),'新建总包合同'")).click() sleep(0.5) driver.find_element_by_xpath( "//input[@placeholder='请输入合同名称']").send_keys(contract_name) sleep(0.5) # 发包方 get_element(driver, ('id', 'select2-fbfName-container')).click() get_element( driver, ('xpath', "//input[@type='search']")).send_keys(contract_awarding) sleep(0.5) get_element(driver, ('xpath', "//input[@type='search']")).send_keys(Keys.ENTER) # 承包方 get_element(driver, ('id', "select2-cbfName-container")).click() driver.find_element_by_xpath("//input[@type='search']").send_keys( contracting) sleep(0.5) driver.find_element_by_xpath("//input[@type='search']").send_keys( Keys.ENTER) driver.find_element_by_xpath( "//input[@placeholder='请输入工程名称']").send_keys(project_name) select_city(driver) driver.find_element_by_xpath( "//input[@placeholder='请输入工程详细地址']").send_keys('南京路168号') # 工程属性 get_elements(driver, ('xpath', "//input[@type='checkbox']"))[random.randint( 0, 3)].click() driver.find_element_by_xpath("//input[@placeholder='类目']").send_keys( '建筑') driver.find_element_by_xpath("//input[@placeholder='年份']").click() driver.find_element_by_xpath("//span[@class='year active']").click() driver.find_element_by_xpath("//input[@placeholder='编号']").send_keys( random.randint(10000, 99999)) project_information = '土方开挖,土方回填,钢筋工程,模板工程,混凝土工程,砌体工程,装饰装修工程等' contract_scope = "售楼部的美女,工程部的汉,项目部的光棍满街转!财务的花,预算的草,施工队的和尚到处跑!食堂的饭,宿舍的床,搞工程的女人吓死郎!" driver.find_elements_by_xpath( "//textarea[@placeholder='选填']")[0].send_keys(project_information) driver.find_elements_by_xpath( "//textarea[@placeholder='选填']")[1].send_keys(contract_scope) setting_input_time(driver) driver.find_element_by_xpath( "//input[@placeholder='选择日期不得晚于计划竣工日期']").send_keys( get_pass_dates(2)) driver.find_element_by_xpath( "//input[@placeholder='选择日期不得早于今天']").send_keys( get_future_date(300)) driver.find_elements_by_xpath( "//input[@placeholder='选填']")[0].send_keys(random.randint( 100, 200)) driver.find_elements_by_xpath( "//input[@placeholder='必填']")[0].send_keys( random.randint(100000, 999999)) driver.find_element_by_xpath( "//input[@placeholder='请输入项目经理姓名']").send_keys("暂无") driver.find_element_by_xpath( "//input[@placeholder='选择日期不得晚于当前日期']").send_keys(get_now_dates()) select_city_choice(driver) driver.find_elements_by_xpath( "//input[@placeholder='选填']")[1].send_keys("南京路256号") driver.find_element_by_xpath("//button[@type='submit']").click() print(get_element(driver, ('id', "LAY_demo2")).text) assert get_element(driver, ('id', "LAY_demo2")).text == "成功" except Exception as e: print(e) bug_photo(driver) assert False
# -*- coding: utf-8 -*- import getpass import sys sys_path = r'C:\Users\%s\Desktop\builder_webui_autotest' % (str( getpass.getuser())) sys.path.append(sys_path) # sys.path.append(r'C:\Users\CY\Desktop\builder_webui_autotest') import random import pymysql.cursors import time from Page.random_time import Type from Page.web.get_now_time import get_pass_dates, get_now_dates fmt = '%Y-%m-%d %H:%M:%S' # 格式化时间 begin_time = get_now_dates() + " 00:00:01" # 当前日期初始时间 end_time = get_now_dates() + " 23:59:59" # 当前日期结束时间 now_time = time.strftime(fmt, time.localtime()) # 当前时间 # 将其转换为时间数组 timeArray_begin = time.strptime(begin_time, fmt) # timeArray_end = time.strptime(end_time, fmt) # timeArray_now = time.strptime(now_time, fmt) # 转换为时间戳: timeStamp_begin = int(time.mktime(timeArray_begin)) # timeStamp_end = int(time.mktime(timeArray_end)) # timeStamp_now = int(time.mktime(timeArray_now)) # timeStamp_end - timeStamp_now # 不能大于当前时间戳 # one = timeStamp_begin + random.randint(28800, 34200) # two = timeStamp_begin + random.randint(41400, 43200) # three = timeStamp_begin + random.randint(46800, 48600) # four = timeStamp_begin + random.randint(64800, 79200)
def foo(name, hh, age=None): print("%s is name time is %s age = %s %s" % (name, get_now_dates(), age, hh))
def request_for_overtime(driver, remark, file_path): """ # 加班申请 :param driver: :param remark:备注信息 :param file_path: 附件路径 :return: """ into_one_level(driver, '任务面板') sleep(1) into_one_level(driver, '发起申请') get_element(driver, ('xpath', "//div[contains(text(),'加班申请')]")).click() get_element(driver, ('id', 'leaveAdd')).click() sleep(0.5) element = "//*[@id='lay-user-f']/tbody/tr" for i in range(0, len(get_elements(driver, ('xpath', element))), 2): elements = "//tr[@data-index='%s']/td/input" % i get_element(driver, ('xpath', elements)).click() sleep(0.1) get_element(driver, ('xpath', "//a[contains(text(),'确定')]")).click() setting_input_time(driver) get_elements(driver, ('xpath', "//div[@class='col-sm-6']/input"))[0].send_keys( get_now_dates()) get_element( driver, ('xpath', "//input[@placeholder='选择时间需小于加班结束时间']")).send_keys('20:00') get_element( driver, ('xpath', "//input[@placeholder='选择时间需大于加班开始时间']")).send_keys('21:00') get_element( driver, ('xpath', "//input[@placeholder='请输入加班费, 单位:元/小时']")).send_keys( random.randint(20, 50)) get_element( driver, ('xpath', "//textarea[@class='form-control']")).send_keys(remark) get_element( driver, ('xpath', "//div[@id='uploadFile']/input")).send_keys(file_path) get_element(driver, ('xpath', "//button[contains(text(),'提交申请')]")).click() get_element(driver, ('id', "success")).click() sleep(0.5) i = 1 while 1: if is_element_present_3s(driver, ('xpath', "//div[contains(text(),'创建失败')]")): sleep(1) get_element(driver, ( 'xpath', "//a[@class='layui-layer-ico layui-layer-close layui-layer-close1']" )).click() sleep(0.2) get_elements( driver, ('xpath', "//div[@class='col-sm-6']/input"))[0].clear() get_elements( driver, ('xpath', "//div[@class='col-sm-6']/input"))[0].send_keys( get_pass_dates(i)) i += 1 get_element( driver, ('xpath', "//button[contains(text(),'提交申请')]")).click() get_element(driver, ('id', "success")).click() sleep(0.5) if is_element_present_3s(driver, ('id', "LAY_demo2")): break else: break into_one_level(driver, '我的任务') get_element(driver, ('xpath', "//a[contains(text(),'我发起的')]")).click() try: sleep(0.5) get_element(driver, ('xpath', "//button[contains(text(),'加班工作流')]")).click() get_element( driver, ('xpath', "//*[@id='task-mytask-table']/tbody/tr[1]/td[8]/a")).click() assert_element = "//div[@class='tsk-inp col-xs-8' and contains(text(),'%s')]" % remark assert is_element_present(driver, ('xpath', assert_element)) except Exception as e: print(e) bug_photo(driver) assert False
def new_payroll(driver, payroll_name, money): # 薪资管理 try: into_one_level(driver, '工程面板') sleep(1) into_two_level(driver, '薪资管理') get_element(driver, ('xpath', "//button[@class='btn btn-primary']")).click() # 工程名称 get_element(driver, ('xpath', "//select[@id='kkkk']/option[2]")).click() # 输入工资月份 get_now_dates() setting_input_time(driver) r = r'\d{4}-\d{2}' text = re.findall(r, get_now_dates()) get_element( driver, ('xpath', "//input[@class='form-control form-n-y-1']")).send_keys(text) # 工资单名称 get_element(driver, ('id', 'createProllNameAll')).clear() sleep(0.2) get_element(driver, ('id', 'createProllNameAll')).send_keys(payroll_name) # 确定按钮 get_element( driver, ('xpath', "//button[@class='btn btn-primary proll-btn-com']")).click() sleep(1) # 增加最后一个人 get_elements(driver, ( 'xpath', "//div[@id='createrProll']/div[3]/div[1]/div[2]/div/div[1]/div/div/div/span[2]" ))[-1].click() sleep(0.5) get_element(driver, ('xpath', "//a[contains(text(),'移除')]")).click() sleep(1) if is_element_present_3s(driver, ('xpath', "//tr[1]/td[7]/input"), 3): print("移除失败") assert False else: pass get_elements(driver, ( 'xpath', "//div[@id='createrProll']/div[3]/div[1]/div[2]/div/div[1]/div/div/div/span[2]" ))[-1].click() get_element(driver, ('xpath', "//tr[1]/td[5]/a")).click() get_elements(driver, ('xpath', "//input[@class='form-control']"))[1].send_keys( get_bank_card_number()[2:18]) get_element(driver, ('xpath', "//button[contains(text(),'确定')]")).click() # 发放金额 get_element(driver, ('xpath', "//input[@class='pay-money']")).send_keys(money) sleep(3) get_element(driver, ('xpath', "//button[contains(text(),'保存')]")).click() sleep(0.5) get_element( driver, ('xpath', "//table[@id='project-proll-release']/tbody/tr[1]/td[7]/a[1]" )).click() assert is_element_present_3s(driver, ('xpath', "//input[@class='pay-money']"), 3), "保存失败" sleep(3) get_element(driver, ('xpath', "//button[contains(text(),'保存')]")).click() sleep(0.5) get_element( driver, ('xpath', "//table[@id='project-proll-release']/tbody/tr[1]/td[7]/a[2]" )).click() sleep(3) report = os.path.join(test_report_path(), payroll_name + '.xls') import win32com.client sleep(1) excel = win32com.client.gencache.EnsureDispatch('Excel.Application') sleep(0.1) wb = excel.Workbooks.Open(report) sleep(2) wb.SaveAs(report + 'x', FileFormat=51) wb.Close() excel.Application.Quit() # 删除旧的xls sleep(0.5) os.remove(report) new_report = os.path.join(test_report_path(), payroll_name + '.xlsx') wb1 = load_workbook(filename=new_report) sheets = wb1.get_sheet_names() # 获取所有的表格 print(sheets) sheets_first = sheets[0] # 获取第一个表 ws1 = wb1.get_sheet_by_name(sheets_first) print(ws1['F2'].value) assert money == ws1['F2'].value, "下载文件内容显示不正确" os.remove(new_report) except Exception as e: bug_photo(driver) print(e) assert False
def subcontract(driver, project_name, labor_company, sub_contract, labor_people): """ :param driver: 驱动 :param project_name: 工程名称 :param labor_company: 劳务公司 :param sub_contract: 分包合同名称 :param labor_people: 劳务经理 :return: """ try: into_one_level(driver, '任务面板') sleep(0.5) into_two_level(driver, '发起申请') driver.find_element_by_xpath("//div[contains(text(),'新建分包合同')]").click() driver.find_element_by_xpath("//span[contains(text(),'输入工程名称')]").click() get_element(driver, ('xpath', "//input[@class='select2-search__field']")).send_keys(project_name) sleep(0.5) get_element(driver, ('xpath', "//input[@class='select2-search__field']")).send_keys(Keys.ENTER) sleep(1) driver.find_element_by_xpath("//span[contains(text(),'输入公司关键字查找')]").click() get_element(driver, ('xpath', "//input[@class='select2-search__field']")).send_keys(labor_company) sleep(0.5) get_element(driver, ('xpath', "//input[@class='select2-search__field']")).send_keys(Keys.ENTER) # 分包合同名称 get_elements(driver, ('xpath', "//input[@placeholder='必填']"))[0].send_keys(sub_contract) information = "地基与基础、建筑装饰装修、建筑幕墙、钢结构、机电设备安装、电梯安装、消防设施、建筑防水、防腐保温、园林古建筑、爆破与拆除、电信工程、管道工程等" get_element(driver, ('xpath', "//textarea[@placeholder='必填']")).send_keys(information) setting_input_time(driver) get_element(driver, ('xpath', "//input[@placeholder='选择日期不得晚于计划竣工日期']")).send_keys(get_now_dates()) get_element(driver, ('xpath', "//input[@placeholder='选择日期不得早于今天']")).send_keys(get_future_date(299)) driver.find_element_by_xpath("//span[contains(text(),'输入姓名查找')]").click() get_element(driver, ('xpath', "//input[@class='select2-search__field']")).send_keys(labor_people) sleep(1) get_element(driver, ('xpath', "//input[@class='select2-search__field']")).send_keys(Keys.ENTER) get_elements(driver, ('xpath', "//input[@placeholder='必填']"))[1].send_keys(random.randint(10000, 99999)) QA_standard(driver, random.randint(0, 1)) remuneration_pay(driver, random.randint(0, 1)) the_contract_comes_into_effect(driver, random.randint(0, 1)) material_equipment_management(driver, random.randint(0, 1)) sub_insurance(driver, random.randint(0, 1)) dispute_resolution(driver, random.randint(0, 1)) laws_and_regulations(driver, random.randint(0, 1)) sleep(0.5) driver.find_element_by_xpath("//button[contains(text(),'完成')]").click() print(get_element(driver, ('id', "LAY_demo2")).text) assert get_element(driver, ('id', "LAY_demo2")).text == "成功" except Exception as e: print(e) bug_photo(driver) assert False
def workman_contract(driver, people, out_of_date): try: into_one_level(driver, "任务面板") sleep(1) into_two_level(driver, "发起申请") get_element(driver, ('xpath', "//div[contains(text(),'新建用工合同')]")).click() get_element(driver, ('xpath', "//span[contains(text(),'计时工人用工合同')]")).click() project_element = "//select[@id='reproject-name']/option[2]" get_element(driver, ('xpath', project_element)).click() get_element(driver, ('xpath', "//*[@id='reproject-team']/option[2]")).click() get_element(driver, ('xpath', "//input[@placeholder='请输入正常出勤单价']")).send_keys( random.randint(10, 99)) # get_element(driver, ('xpath', "//input[@placeholder='请输入加班单价']")).send_keys(random.randint(10, 99)) # 选择工种 work_type = "//*[@id='work-type']/option" work_type_element = "//*[@id='work-type']/option[%d]" % random.randint( 2, len(work_type)) get_element(driver, ('xpath', work_type_element)).click() get_element(driver, ('xpath', "//input[@placeholder='请输入姓名或身份证号查询']")).send_keys(people) sleep(0.5) workman_element = "//span[contains(text(),'%s')]" % people get_element( driver, ('xpath', "//input[@placeholder='请输入姓名或身份证号查询']")).send_keys( Keys.ENTER) sleep(1) get_elements(driver, ('xpath', workman_element))[0].click() information = "按工作时间长短付给你工资的工作。" get_element( driver, ('xpath', "//textarea[@placeholder='选填']")).send_keys(information) setting_input_time(driver) get_elements( driver, ('xpath', "//input[@placeholder='必填']"))[0].send_keys('08:00') get_elements( driver, ('xpath', "//input[@placeholder='必填']"))[1].send_keys('18:00') if out_of_date: get_element( driver, ('xpath', "//input[@placeholder='小于用工合同结束日期']")).send_keys( get_pass_dates(2)) else: get_element( driver, ('xpath', "//input[@placeholder='小于用工合同结束日期']")).send_keys( get_now_dates()) get_element( driver, ('xpath', "//input[@placeholder='选择日期不得大于分包合同结束日期']")).send_keys( get_future_date(180)) get_elements( driver, ('xpath', "//input[@placeholder='必填']"))[2].send_keys('10') get_element(driver, ('xpath', "//button[contains(text(),'完成')]")).click() assert is_element_present(driver, ( 'xpath', "//div[contains(text(),'成功')]/i[@class='layui-layer-ico layui-layer-ico1' ]" )) except Exception as e: print(e) bug_photo(driver) assert False