def BA_upload(driver): driver.find_element(By.XPATH, "//ul/li[5]").click() time.sleep(1) driver.find_element(By.XPATH, "//a[text()='经费申请']").click() time.sleep(1) driver.find_element(By.XPATH, "//span[text()='+ 发起申请']/..").click() time.sleep(1) driver.find_element(By.XPATH, "//tbody/tr[2]/td[1]/span[2]").click() time.sleep(1) driver.find_element(By.XPATH, "//input").click() js = 'var q=document.querySelector("#root > div > section > section > main").scrollBy(0,1000)' driver.execute_script(js) time.sleep(1) driver.find_element(By.XPATH, "//span[text()='下一步']/..").click() driver.find_element(By.XPATH, "//input[@placeholder='请输入申请金额']").send_keys('99.99') time.sleep(1) driver.find_element(By.XPATH, "//span[text()='下一步']/..").click() up_apartment = choice_apartment(driver) up_creatuser = driver.find_element( By.XPATH, "//div[@id='modifiedUserId']/div/div/div[1]").text up_description = up_creatuser + '为' + up_apartment + '申请用于补充附件的校验' + time.strftime( '%F-%H%M%S') driver.find_element(By.XPATH, "//span[text()='上传附件']/..").click() up_type = ('需求明细', '会议纪要', '批复文件', '会议通知', '其他附件') up_type1 = random.sample(up_type, 1) up_type2 = "".join(up_type1) driver.find_element(By.XPATH, "//li[text()='" + up_type2 + "']").click() os.system(r"E:\workspace\au\autest.exe") time.sleep(1) driver.find_element(By.XPATH, "//textarea[@id='description']").click() driver.find_element( By.XPATH, "//textarea[@id='description']").send_keys(up_description) submit(driver) agree(driver)
def ac_01(driver): choice_ac(driver) start_ac(driver) choice_data(driver) edit_ac(driver) submit(driver) time.sleep(5)
def budget_ri_down2(driver): choice_menu(driver, '支出管理', '报销申请') start_NORI(driver) choice_budget(driver) edit_money1(driver, '500') enter_apartment(driver) choice_path(driver, '报销申请单自审') driver.find_element(By.XPATH, "//input[@id='attachmentNumber']").send_keys(5) edit_matter1(driver, '核销调减使用') pay_setting(driver) RIsubmit(driver) agree(driver) write_off(driver) time.sleep(0.5) choice_menu(driver, '预算管理', '调整申请') time.sleep(3) start_add(driver, '+ 发起核销金额调整 ') time.sleep(0.1) driver.find_element(By.XPATH, "//li[text()='核销金额调减']").click() time.sleep(0.5) driver.find_element(By.XPATH, "//div[@id='globalLayoutContent']/div/div/div[3]/div[3]/div/div[" "2]/div/div/div/div/div[1]/div[2]/table/tbody/tr[1]").click() driver.find_element(By.XPATH, "//span[text()='下一步']/..").click() time.sleep(0.1) driver.find_element(By.XPATH, "//span[text()='下一步']/..").click() time.sleep(0.1) driver.find_element(By.XPATH, "//input[@placeholder='请输入调整已核销金额']").send_keys('100') driver.find_element(By.XPATH, "//span[text()='下一步']/..").click() enter_apartment(driver) choice_path(driver, '预算调整单自审') edit_matter(driver, '核销调减发起、撤销') submit(driver) cancel(driver) delete_bill(driver)
def FADT_01(driver): # 固定资产处置单 choice_FADT(driver) start_FADT(driver) edit_FADT(driver) edit_FADT_detail(driver) submit(driver) agree(driver)
def FART_01(driver): # 固定资产出库单 choice_FART(driver) start_FART(driver) edit_FART(driver) time.sleep(1) submit(driver) agree(driver)
def FARP_01(driver): # 固定资产领用单 choice_FARP(driver) start_FARP(driver) edit_FARP(driver) time.sleep(1) submit(driver) agree(driver)
def change_CT_RI(driver): # 无申请合同变更后进行报销 no_ct_for_RI(driver) driver.find_element(By.XPATH, '//span[text()="合同管理"]/..').click() time.sleep(0.5) driver.find_element(By.XPATH, "//a[text()='合同管理']").click() driver.refresh() time.sleep(0.1) driver.find_element( By.XPATH, "//div[@class='ant-table-body']/table/tbody/tr[1]/td[1]/div").click() time.sleep(0.5) driver.find_element(By.XPATH, "//button[text()='更多']").click() time.sleep(0.1) driver.find_element(By.XPATH, "//button[text()='合同变更']").click() time.sleep(0.5) driver.find_element(By.XPATH, "//button[@id='nextBtn']").click() driver.find_element( By.XPATH, "//textarea[@id='description']").send_keys('变更' + time.strftime('%m%d%H%M%S')) submit(driver) agree(driver) start_CT_RI(driver) choice_budget(driver) time.sleep(0.5) driver.find_element(By.XPATH, "//span[text()='下一步']/..").click() enter_apartment(driver) choice_path(driver, "报销申请单自审") edit_matter1(driver, "一期报销") pay_setting(driver) RIsubmit(driver) agree(driver) write_off(driver)
def LCSO_01(driver): # 新增领用出库单 time.sleep(0.1) driver.find_element(By.XPATH, "//span[text()='低值易耗品']").click() time.sleep(0.1) driver.find_element(By.XPATH, "//a[text()='领用出库']").click() time.sleep(0.1) driver.find_element(By.XPATH, "//span[text()='+ 新增出库']/..").click() # 备注 driver.find_element( By.XPATH, "//textarea[@id='remark']").send_keys('automation created ' + str(time.asctime())) # 出库明细 driver.find_element( By.XPATH, "//div[@class='ant-table-content']/div[1]/div/table/tbody/tr/td[3]/div" ).click() time.sleep(1) driver.find_element( By.XPATH, "/html/body/div[3]/div/div[2]/div/div[2]/div[2]/div/div/div/div/div/div/div[2]/div/\ div/table/tbody/tr[1]/td/span/label/span/input").click() time.sleep(0.1) driver.find_element(By.XPATH, "//span[text()='确 定']/..").click() time.sleep(0.5) driver.find_element( By.XPATH, "//div[@class='ant-table-content']/div[1]/div/table/tbody/tr/td[6]/div" ).click() driver.find_element( By.XPATH, "//div[@class='ant-table-content']/div[1]/div/table/tbody/tr/td[6]/div/div/div[" "2]/input").send_keys('100') submit(driver) agree_new(driver)
def no_detail_BA_PR1(driver): # 无明细采购 BA_for_PR(driver) time.sleep(0.5) start_BA_PR(driver) time.sleep(0.5) driver.find_element(By.XPATH, "//span[text()='下一步']/..").click() edit_PR(driver) time.sleep(0.5) driver.execute_script( 'var q = document.querySelector("#globalLayoutContent").scrollTo(0,1000)' ) choice_supplier(driver) # sure_supplier(driver) submit(driver) agree(driver) choice_menu(driver, "采购管理", "采购审批") time.sleep(0.1) driver.find_element( By.XPATH, "//div[@class='ant-table-body']/table/tbody/tr[1]/td[1]/div").click() time.sleep(0.5) driver.find_element(By.XPATH, "//button[text()='更多']").click() time.sleep(0.5) driver.find_element(By.XPATH, "//button[text()='作废']").click() time.sleep(0.5) driver.find_element(By.XPATH, "//span[text()='确 定']/..").click() driver.refresh() time.sleep(1) driver.find_element(By.XPATH, "//button[text()='更多']").click() time.sleep(0.5) driver.find_element(By.XPATH, "//button[text()='删除']").click() time.sleep(0.5) driver.find_element(By.XPATH, "//span[text()='确 定']/..").click()
def cancel_CG(driver): # 新增收费标准单 撤销并删除 choice_CG(driver) start_CG(driver) edit_CG(driver) submit(driver) cancel(driver) delete_bill(driver)
def cancel_RE(driver): # 新增收费审批单 撤销并删除 choice_RE(driver) start_RE(driver) edit_RE(driver) submit(driver) cancel(driver) delete_bill(driver)
def cancel_MA(driver): # 新增申请,撤销删除 choiceMA(driver) startMA(driver) editMA(driver) submit(driver) cancel(driver) delete_bill(driver)
def FASI_01(driver): # 固定资产入库单 choice_FASI(driver) # 选菜单 start_FASI(driver) # 发起入库 edit_FASI(driver) # 编辑入库单基本信息 edit_FASI_detail(driver) # 编辑入库单入库明细 time.sleep(1) submit(driver) # 确认提交 agree(driver) # 自审同意
def reject_CG(driver): # 新增收费标准单 驳回复制 复制单据 choice_CG(driver) start_CG(driver) edit_CG(driver) submit(driver) refuse(driver) copy_CG(driver) submit(driver)
def standard_PR(driver): # 填写政采目录有问题,点击一下后会,下拉框会立即消失,导致无法选择政采目录 choice_PR(driver) start_PR(driver) choice_BAPR(driver) editpurchasedetail(driver) edit_PR(driver) submit(driver) agree(driver)
def reject_MA(driver): # 新增申请,驳回复制 choiceMA(driver) startMA(driver) editMA(driver) submit(driver) refuse(driver) copyMA(driver) submit(driver)
def cancel_MA(driver): # 撤销删除 choice_menu(driver, '重要事项', '事项申请') start_add(driver, '发起申请') enter_apartment(driver) driver.find_element(By.XPATH, "//input[@id='amount']").send_keys('100') edit_matter(driver, '事项申请') submit(driver) cancel(driver) delete_bill(driver)
def standard_IC(driver): # 审批通过收入登记 choice_IC(driver) start_IC(driver) choice_acount(driver) choice_budget(driver) choice_ICRE(driver) edit_IC(driver) submit(driver) time.sleep(5) # 存在提示成功的提示语冗余的BUG,需要等待提示消失 agree(driver)
def reject_IC(driver): # 驳回收入登记 choice_IC(driver) start_IC(driver) choice_acount(driver) choice_budget(driver) choice_ICRE(driver) edit_IC(driver) submit(driver) time.sleep(5) refuse(driver)
def cancel_IC(driver): # 撤销并删除收入登记 choice_IC(driver) start_IC(driver) choice_acount(driver) choice_budget(driver) choice_ICRE(driver) edit_IC(driver) submit(driver) time.sleep(5) cancel(driver) delete_bill(driver)
def standard_AT(driver): choice_AT(driver) start_AT(driver) choice_BAPR(driver) edit_detail(driver, 1) edit_AT(driver) time.sleep(0.5) driver.execute_script( 'var q=document.querySelector("#root > div > div > div > div.content___3gQPC.ant-layout-content").scrollTo(0,1000)' ) submit(driver)
def AG_for_RI(driver): # 新增框架协议,可用于报销/变更 choice_menu(driver, '合同管理', '框架协议') start_add(driver, '+ 申请框架协议') enter_apartment(driver) enter_ct_type(driver) # enter_sign_user(driver) ag_enter_sign_user(driver) enter_pc_type(driver) choice_path(driver, '框架协议单自审') edit_ag(driver, '框架协议') submit(driver) agree(driver)
def create_personnel_bill(driver): time.sleep(1) driver.find_element(By.XPATH, '//span[text()="人事管理"]/..').click() time.sleep(0.5) driver.find_element(By.XPATH, '//a[text()="人员管理"]').click() time.sleep(0.5) driver.find_element(By.XPATH, "//div[text()='档案变更']").click() time.sleep(0.5) driver.find_element(By.XPATH, "//button[@class='ant-btn ant-btn-primary']" ).click() # add personnel bill button time.sleep(0.5) driver.find_element(By.XPATH, "//span[@id='executeMonth']/div/input").click() time.sleep(0.5) driver.find_element(By.XPATH, "//a[text()='九月']").click() description_parameter = str(time.asctime()) driver.find_element( By.XPATH, "//textarea[@id='description']").send_keys('automatic' + description_parameter) driver.find_element( By.XPATH, "//textarea[@id='remark']").send_keys('automatic' + description_parameter) # click person name driver.find_element( By.XPATH, '//*[@id="root"]/div/section/section/main/div/div/div[3]/div[2]/div/section[2]/div/div/div/div/div/div/div[1]/div/table/tbody/tr/td[2]/div' ).click() time.sleep(1) # choose the first person driver.find_element( By.XPATH, "//div[@class='ant-table ant-table-default ant-table-scroll-position-left']/div/div[2]/div/div/table/tbody/tr[1]/td/span/label/span/input" ).click() driver.find_element(By.XPATH, "//span[text()='确 定']/..").click() # click change person budget time.sleep(1) driver.find_element( By.XPATH, '//*[@id="root"]/div/section/section/main/div/div/div[3]/div[2]/div/section[2]/div/div/div/div/div/div/div[1]/div/table/tbody/tr/td[5]/div/div/div' ).click() time.sleep(0.1) driver.find_element(By.XPATH, '//li[text()="职务类别"]').click() time.sleep(0.5) # choose the change after budget driver.find_element( By.XPATH, '//*[@id="root"]/div/section/section/main/div/div/div[3]/div[2]/div/section[2]/div/div/div/div/div/div/div[1]/div/table/tbody/tr/td[7]/div/div' ).click() time.sleep(1) driver.find_element(By.XPATH, '//li[text()="中级职称"]').click() submit(driver)
def no_ct_for_RI(driver): # 无申请合同用于报销 choice_CT(driver) start_no_ct(driver) pay_1plan(driver) enter_apartment(driver) enter_sign_user(driver) enter_pc_type(driver) enter_b_supplier(driver) enter_ct_type(driver) choice_path(driver, "合同审批单自审") edit_ct(driver, '无申请合同') submit(driver) agree(driver)
def standard_CS(driver): # 新增议事会签 choice_CS(driver) start_CS(driver) choice_date(driver) # 会议时间 choice_location(driver) # 会议地点 choice_hostuser(driver) # 主持人 choice_recorduser(driver) # 记录人 choice_countersignType(driver) driver.find_element(By.XPATH, "//input[@id='description']").send_keys( "会签" + str(time.strftime('%m%d%H%M%S'))) # 会议主题 meet_related_personal(driver) editcs(driver) submit(driver) modify(driver)
def invalid_MA(driver): # 通过 作废 choice_menu(driver, '重要事项', '事项申请') start_add(driver, '发起申请') enter_apartment(driver) driver.find_element(By.XPATH, "//input[@id='amount']").send_keys('100') edit_matter(driver, '事项申请') submit(driver) agree(driver) time.sleep(0.1) choice_menu(driver, '重要事项', '事项申请') time.sleep(0.5) driver.find_element( By.XPATH, "//div[@class='ant-table-body']/table/tbody/tr[1]/td[1]/div").click() time.sleep(1) invalid(driver)
def budget_up2(driver): # 撤销删除 choice_menu(driver, '预算管理', '调整申请') start_add(driver, '+ 发起预算调整 ') time.sleep(0.1) driver.find_element(By.XPATH, "//li[text()='预算追加']").click() choice_budget(driver) time.sleep(0.5) driver.find_element(By.XPATH, "//input[@placeholder='请输入调整预算金额']").send_keys('100') driver.find_element(By.XPATH, "//span[text()='下一步']/..").click() enter_apartment(driver) choice_path(driver, '预算调整单自审') edit_matter(driver, '预算追加发起、撤销、删除') submit(driver) cancel(driver) time.sleep(0.5) delete_bill(driver)
def change_AG(driver): AG_for_RI(driver) choice_menu(driver, '合同管理', '框架协议') driver.refresh() time.sleep(0.1) driver.find_element( By.XPATH, "//div[@class='ant-table-body']/table/tbody/tr[1]/td[1]/div").click() time.sleep(0.5) driver.find_element(By.XPATH, "//button[text()='更多']").click() time.sleep(0.01) driver.find_element(By.XPATH, "//button[text()='协议变更']").click() time.sleep(0.5) driver.find_element( By.XPATH, "//textarea[@id='description']").send_keys('变更' + time.strftime('%m%d%H%M%S')) submit(driver) agree(driver)
def LCSI_01(driver): # 低值易耗品入库单 time.sleep(0.1) driver.find_element(By.XPATH, "//span[text()='低值易耗品']").click() time.sleep(0.1) driver.find_element(By.XPATH, "//a[text()='入库管理']").click() time.sleep(0.1) driver.find_element(By.XPATH, "//div[text()='入库单']").click() driver.find_element(By.XPATH, "//span[text()='新增入库单']/..").click() time.sleep(0.5) # 经办人 driver.find_element(By.XPATH, "//div[@id='operUserId']/div/div").click() p_operuser = ('陈东雪', '雷军', '张小龙', '马云') p_operuser = random.sample(p_operuser, 1) p_operuser = "".join(p_operuser) time.sleep(0.5) driver.find_element(By.XPATH, "//li[text()='" + p_operuser + "']").click() # 备注 driver.find_element( By.XPATH, "//textarea[@id='remark']").send_keys('automation created ' + str(time.asctime())) # 入库明细 driver.find_element( By.XPATH, "//div[@class='ant-table-content']/div[1]/div/table/tbody/tr/td[3]/div" ).click() time.sleep(1) driver.find_element( By.XPATH, "/html/body/div[4]/div/div[2]/div/div[2]/div[2]/div[2]/div/div/div/div/div/div[2]/\ div/div/table/tbody/tr[1]/td/span/label/span/input").click() time.sleep(0.1) driver.find_element(By.XPATH, "//span[text()='确 定']/..").click() time.sleep(0.5) driver.find_element( By.XPATH, "//div[@class='ant-table-content']/div[1]/div/table/tbody/tr/td[9]/div" ).click() driver.find_element( By.XPATH, "//div[@class='ant-table-content']/div[1]/div/table/tbody/tr/td[9]/div/div/div[" "2]/input").send_keys('100') submit(driver) agree_new(driver)
def copy_MA(driver): # 驳回复制 通过 choice_menu(driver, '重要事项', '事项申请') start_add(driver, '发起申请') enter_apartment(driver) driver.find_element(By.XPATH, "//input[@id='amount']").send_keys('100') edit_matter(driver, '事项申请') submit(driver) refuse(driver) time.sleep(0.1) choice_menu(driver, '重要事项', '事项申请') time.sleep(0.5) driver.find_element( By.XPATH, "//div[@class='ant-table-body']/table/tbody/tr[1]/td[1]/div").click() time.sleep(0.5) driver.find_element(By.XPATH, "//button[text()='复制单据']").click() edit_matter(driver, '驳回复制') submit(driver) agree(driver)