def goodshNoData(self,driver): login = Login() login.test_click_login_btn(driver) des="纳入指示_D/O合併_未选择任何数据时,点击D/O合併" # 点击进入到纳入指示页面 ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) # 点击D/O合併 r = ElementUtil.is_enabled(self, driver, 15, des, *self.DOheButton) return r
def openWindow(self, driver): login = Login() login.test_click_login_btn(driver) # 进入到纳入指示页面 des = '"纳入指示_纳入场所一括登录_不输入数据时点击纳入场所一括登录"' ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) # 点击按钮 r = ElementUtil.is_enabled(self, driver, 15, des, *self.deliveryOrdersStar) return r
def goodsfenNoData(self,driver): des="纳入指示_D/O分け_未选择任何数据时,点击D/O分け" login = Login() login.test_click_login_btn(driver) # 进入到纳入指示页面 ElementUtil.click(self, driver, 15, des,*self.companiesStartElement) # 点击D/O分け r=ElementUtil.is_enabled(self,driver,15, des,*self.DOfenButton) return r
def goodshNR(self,driver): login = Login() login.test_click_login_btn(driver) des="纳入指示_D/O分け_纳入指示status为納入指示済时,点击D/O合併" # 进入到纳入指示页面 ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) # 选择纳入指示status为納入指示済 ElementUtil.click(self, driver, 15, des, *self.queryShowStatus) ElementUtil.click(self, driver, 15, des, *self.queryShowStatusListn) sleep(2) # 点击D/O合 r = ElementUtil.is_enabled(self, driver, 15, des, *self.DOheButton) return r
def goodshManyData(self,driver): login = Login() login.test_click_login_btn(driver) des="纳入指示_D/O合併_选择多条数据时,点击D/O合併" # 点击进入到纳入指示页面 ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) # 点击检索,选择多条数据 ElementUtil.click(self, driver, 15, des, *self.queryButton) ElementUtil.click(self, driver, 15, des, *self.tableCheckData) sleep(2) # 点击D/O分 r = ElementUtil.is_enabled(self, driver, 15, des, *self.DOheButton) return r
def openWindowe(self, driver): des = "纳入指示_纳入场所一括登录_纳入指示status为纳入指示剂时选择一条点击纳入场所一括登录" login = Login() login.test_click_login_btn(driver) # 进入到纳入指示页面 ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) # 选择納入指示済,点击查询 ElementUtil.click(self, driver, 15, des, *self.queryShowStatus) ElementUtil.click(self, driver, 15, des, *self.queryShowStatusListn) ElementUtil.click(self, driver, 15, des, *self.queryButton) # 选择数据,点击按钮 ElementUtil.click(self, driver, 15, des, *self.tableFristData) r = ElementUtil.is_enabled(self, driver, 15, des, *self.deliveryOrdersStar) return r
def openWindowDo(self, driver, doNum): login = Login() login.test_click_login_btn(driver) des = '"纳入指示_追加_纳入指示status指示Mail送信済时,纳入场所、纳入予定时间、时间为空时,点击追加"' ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) # 选择納入指示済,点击查询 ElementUtil.click(self, driver, 15, des, *self.queryShowStatus) ElementUtil.click(self, driver, 15, des, *self.queryShowStatusList) ElementUtil.send_keys(self, driver, 15, doNum, des, *self.queryDOInput) ElementUtil.click(self, driver, 15, des, *self.queryButton) # 选择数据,点击按钮 ElementUtil.click(self, driver, 15, des, *self.tableCheckData) ElementUtil.click(self, driver, 15, des, *self.deliveryOrdersStar) #清空时间 ElementUtil.clear(self, driver, 15, des, *self.deliveryOrdersTime) r = ElementUtil.is_enabled(self, driver, 15, des, *self.deliveryOrderszj) return r
def openWindowDoe(self, driver, doNum, time, desc, des): login = Login() login.test_click_login_btn(driver) # 进入到纳入指示页面 ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) # 选择納入指示済,点击查询 ElementUtil.click(self, driver, 15, des, *self.queryShowStatus) ElementUtil.click(self, driver, 15, des, *self.queryShowStatusList) ElementUtil.send_keys(self, driver, 15, doNum, des, *self.queryDOInput) ElementUtil.click(self, driver, 15, des, *self.queryButton) # 选择数据,点击按钮 ElementUtil.click(self, driver, 15, des, *self.tableCheckData) ElementUtil.click(self, driver, 15, des, *self.deliveryOrdersStar) # 纳入场所 ElementUtil.click(self, driver, 15, des, *self.deliveryOrdersnrcs) driver.execute_script( "arguments[0].scrollIntoView();", ElementUtil.getElement( self, driver, 15, des, *self.deliveryOrdersnrcsInput).get("element")) driver.execute_script( 'arguments[0].click()', ElementUtil.getElement( self, driver, 15, des, *self.deliveryOrdersnrcsInput).get("element")) # ElementUtil.click(self,driver,self.deliveryOrdersnrcsInput) # 纳入予定日 ElementUtil.click(self, driver, 15, des, *self.deliveryOrdersnrydr) ElementUtil.click(self, driver, 15, des, *self.deliveryOrdersTimeList) # 时间 ElementUtil.send_keys(self, driver, 15, time, des, *self.deliveryOrdersTime) # 注释 ElementUtil.click(self, driver, 15, des, *self.deliveryOrdersTDesc) ElementUtil.clear(self, driver, 15, des, *self.deliveryOrdersDesc) ElementUtil.send_keys(self, driver, 15, desc, des, *self.deliveryOrdersDesc) r = ElementUtil.is_enabled(self, driver, 15, des, *self.deliveryOrderszj) return r
def openWindowDob(self, driver, doNum): login = Login() login.test_click_login_btn(driver) des = '"纳入指示_追加_纳入指示status指示Mail送信済时,纳入场所、纳入予定时间不为空时、时间为空时,点击追加"' # 进入到纳入指示页面 ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) # 选择納入指示済,点击查询 ElementUtil.click(self, driver, 15, des, *self.queryShowStatus) ElementUtil.click(self, driver, 15, des, *self.queryShowStatusList) ElementUtil.send_keys(self, driver, 15, doNum, des, *self.queryDOInput) ElementUtil.click(self, driver, 15, des, *self.queryButton) # 选择数据,点击按钮 ElementUtil.click(self, driver, 15, des, *self.tableCheckData) ElementUtil.click(self, driver, 15, des, *self.deliveryOrdersStar) #纳入场所 ElementUtil.click(self, driver, 15, des, *self.deliveryOrdersnrcs) driver.execute_script( "arguments[0].scrollIntoView();", ElementUtil.getElement( self, driver, 15, des, *self.deliveryOrdersnrcsInput).get("element")) driver.execute_script( 'arguments[0].click()', ElementUtil.getElement( self, driver, 15, des, *self.deliveryOrdersnrcsInput).get("element")) # 纳入予定日 time.sleep(2) ElementUtil.click(self, driver, 15, des, *self.deliveryOrdersnrydr) #driver.execute_script("arguments[0].click();",ElementUtil.getElement(self,driver,15,*self.deliveryOrdersnrydr).get('element')) driver.execute_script( "arguments[0].click();", ElementUtil.getElement( self, driver, 15, des, *self.deliveryOrdersTimeList).get('element')) # 清空时间 ElementUtil.clear(self, driver, 15, des, *self.deliveryOrdersTime) r = ElementUtil.is_enabled(self, driver, 15, des, *self.deliveryOrderszj) return r
def NoOperationSave(self,driver,doNum): login = Login() login.test_click_login_btn(driver) des="纳入指示_D/O分け_详细情报页中无任何操作,点击保存" # 进入到纳入指示页面 ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) # 选择纳入指示status为指示Mail送信済,输入可分け的D/O No参数 ElementUtil.click(self, driver, 15, des, *self.queryShowStatus) ElementUtil.click(self, driver, 15, des, *self.queryShowStatusList) ElementUtil.send_keys(self, driver, 15, doNum, des,*self.queryDOInput) # 检索 ElementUtil.click(self, driver, 15, des, *self.queryButton) # 选择一条数据 ElementUtil.click(self, driver, 15, des, *self.tableFristData) # 点击D/O分 ElementUtil.click(self, driver, 15, des, *self.DOfenButton) sleep(3) #点击保存 r = ElementUtil.is_enabled(self,driver,15, des,*self.SaveButton) return r
def detailStatusn(self, driver, doNum): ### 登录 login = Login() login.test_click_login_btn(driver) des = '状态为纳入指示济时,点击详细,详细字段为空点击保存' ### 查询 ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) ElementUtil.send_keys(self, driver, 15, doNum, des, *self.queryDOInput) ElementUtil.click(self, driver, 15, des, *self.queryShowStatus) ElementUtil.click(self, driver, 15, des, *self.queryShowStatusListn) ElementUtil.click(self, driver, 15, des, *self.queryButton) ### 点击按钮 js = 'document.getElementsByClassName("v-table__overflow")[1].scrollLeft = 200' driver.execute_script(js) ElementUtil.click(self, driver, 15, des, *self.tableDetail) ### 输入描述 ElementUtil.send_keys(self, driver, 15, "", des, *self.detailInput) ### 点击保存 r = ElementUtil.is_enabled(self, driver, 15, des, *self.detailSaven) return r
def openWindow(self, driver, des, **params): r = "success" login = Login() login.test_click_login_btn(driver) # 1.点击纳入指示菜单 ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) # 2.判断是否需要输入doNo if ('doNo' in params.keys() and params['doNo'] != ""): ElementUtil.send_keys(self, driver, 15, params['doNo'], des, *self.queryDOInput) # 3.判断是否需要选择纳入指示status if ('status' in params.keys() and params['status'] != ""): ElementUtil.click(self, driver, 15, des, *self.queryShowStatus) if (params['status'] == "指示Mail送信済"): ElementUtil.click(self, driver, 15, des, *self.queryShowStatusList) if (params['status'] == "納入指示済"): ElementUtil.click(self, driver, 15, des, *self.queryShowStatusListn) # 4.判断是否需要点击查询按钮 if ('query' in params.keys() and params['query'] != ""): ElementUtil.click(self, driver, 15, des, *self.queryButton) # 15.判断是否需要选中数据 if ('checkData' in params.keys() and params['checkData'] != ""): if (params['checkData'] == "many"): ElementUtil.click(self, driver, 15, des, *self.tableCheckData) if (params['checkData'] == "one"): ElementUtil.click(self, driver, 15, des, *self.tableFristData) # 6.纳入场所指定按钮是否可点击 if ('click' in params.keys() and params['click'] != ""): if (params['click'] == True): ElementUtil.click(self, driver, 15, des, *self.companiesAddButtonElement) if (params['click'] == False): r = ElementUtil.is_enabled(self, driver, 15, des, *self.companiesAddButtonElement) # 7.判断是否需要继续走流程 if ('end' in params.keys() and params['end'] != ""): if (params['end'] == True): return r # 15.判断最终纳入场所是否需要输入值 ElementUtil.clear(self, driver, 15, des, *self.companieCustomsInput) if ('input' in params.keys() and params['input'] != ""): driver.execute_script( 'arguments[0].click()', ElementUtil.getElement(self, driver, 15, des, *self.companieCustoms).get('element')) driver.execute_script( "arguments[0].scrollIntoView();", ElementUtil.getElement( self, driver, 15, des, *self.companieCustomsList).get('element')) driver.execute_script( 'arguments[0].click()', ElementUtil.getElement( self, driver, 15, des, *self.companieCustomsList).get('element')) # 9.判断纳入予定日是否需要输入值 ElementUtil.click(self, driver, 15, des, *self.companieTimeInput) if ('date' in params.keys() and params['date'] != ""): driver.execute_script( 'arguments[0].click()', ElementUtil.getElement(self, driver, 15, des, *self.companieTime).get('element')) driver.execute_script( 'arguments[0].click()', ElementUtil.getElement(self, driver, 15, des, *self.companieTimeList).get('element')) # 10.判断时间是否需要输入值 driver.execute_script( "arguments[0].value=''", ElementUtil.getElement(self, driver, 15, des, *self.companieDateInput)) if ('time' in params.keys() and params['time'] != ""): ElementUtil.send_keys(self, driver, 15, params['time'], des, *self.companieDateInput) # 11.判断是否需要点击保存按钮 if ('save' in params.keys() and params['save'] != ""): if (params['save'] == True): ElementUtil.click(self, driver, 15, des, *self.saveButton) if (params['save'] == False): r = ElementUtil.is_enabled(self, driver, 15, des, *self.saveButton) # 12.判断是否需要点击关闭按钮 if ('close' in params.keys() and params['close'] != ""): if (params['close'] == True): ElementUtil.click(self, driver, 15, des, *self.colseButton) if (params['close'] == False): r = ElementUtil.is_enabled(self, driver, 15, des, *self.colseButton) return r
class FreeNewOrders(FreeNew): """在无償新規中新建订单""" def __init__(self): """初始化""" self.e = ElementUtil() No = str(create_IVnum()) self.PONum = "1" # 商品数量 self.ConNo = "M" + No # 集装箱编号 self.IVNo = "M" + No # invoiceNo def checkPOAddOne(self, driver): """ 无償新規的 选择1条P/O记录进行P/L登录,Package List显示对应的记录 :param driver: :return: """ """检索P/L使用到INVOICE 详细""" explain = "INV P/L登录无償新規 test01CheckPOAddOne" # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVPL_element) # 点击 无償新規 self.e.click(driver, 15, explain, *self.Free_element) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.POAdd_element) sleep(4) # 点击 検索 # self.e.click(driver,5,explain,*self.POSearch_element) # 点击任意一条数据 # kk = driver.find_element(*self.POChoiseOne_element) # driver.execute_script("arguments[0].click();", kk) # self.e.click(driver,5,*self.POChoiseOne_element) driver.find_element(*self.POChoiseOne_element).send_keys(Keys.SPACE) # 点击使用 self.e.click(driver, 15, explain, *self.POUse_element) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写商品数量 # self.e.clear(driver,5,*self.PONum1st_element) self.e.send_keys(driver, 15, self.PONum, explain, *self.PONum1st_element) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.POAll_element) # 点击P/L登録 self.e.click(driver, 15, explain, *self.PLReg_element) sleep(1) """查看Package List详情是否显示与INVOICE 详细对应记录""" # Package List详情 的社内品番 acCoNum = self.e.getText(driver, 15, explain, *self.PLConNo1st_element) # Package List详情 的数量 PLNum = Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.PLNum1st_element).get_attribute("value")) return acCoNum, PLNum, self.PONum def checkPOAddTwo(self, driver): """ 无償新規的 不选择选择P/O记录进行P/L登录,Package List不显示对应的记录 :param driver: :return: """ """检索P/L使用到INVOICE 详细""" explain = "INV P/L登录无償新規 test02CheckPOAddTwo" # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVPL_element) # 点击 无償新規 self.e.click(driver, 15, explain, *self.Free_element) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.POAdd_element) sleep(4) # 点击 検索 # self.e.click(driver,5,explain,*self.POSearch_element) # 点击任意一条数据 # kk = driver.find_element(*self.POChoiseOne_element) # driver.execute_script("arguments[0].click();", kk) # self.e.click(driver,5,*self.POChoiseOne_element) driver.find_element(*self.POChoiseOne_element).send_keys(Keys.SPACE) # 点击使用 self.e.click(driver, 15, explain, *self.POUse_element) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写商品数量 self.e.clear(driver, 15, explain, *self.PONum1st_element) self.e.send_keys(driver, 15, self.PONum, explain, *self.PONum1st_element) """勾选所有INVOICE 详细添加到Package List详细""" # 点击P/L登録 self.e.click(driver, 15, explain, *self.PLReg_element) """查看Package List详情是否显示与INVOICE 详细对应记录""" # Package List详情显示 No data available acNoData = self.e.getText(driver, 15, explain, *self.PLNoData_element) return acNoData def checkPOAddThree(self, driver): """ 无償新規的 选择2条P/O记录进行P/L登录,Package List显示对应的记录 :param driver: :return: """ """检索P/L使用到INVOICE 详细""" explain = "INV P/L登录无償新規 test03CheckPOAddThree" # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVPL_element) # 点击 无償新規 self.e.click(driver, 15, explain, *self.Free_element) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.POAdd_element) sleep(4) # 点击 検索 # self.e.click(driver,5,explain,*self.POSearch_element) # 点击任意两条数据 # kk1 = driver.find_element(*self.POChoise1st_element) # driver.execute_script("arguments[0].click();", kk1) # kk2 = driver.find_element(*self.POChoise2nd_element) # driver.execute_script("arguments[0].click();", kk2) # self.e.click(driver, 15, *self.POChoise1st_element) # self.e.click(driver, 15, *self.POChoise2nd_element) driver.find_element(*self.POChoise1st_element).send_keys(Keys.SPACE) driver.find_element(*self.POChoise2nd_element).send_keys(Keys.SPACE) # 点击使用 self.e.click(driver, 15, explain, *self.POUse_element) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写商品数量 self.e.clear(driver, 15, explain, *self.PONum1st_element) self.e.send_keys(driver, 15, self.PONum, explain, *self.PONum1st_element) self.e.clear(driver, 15, explain, *self.PONum2nd_element) self.e.send_keys(driver, 15, self.PONum, explain, *self.PONum2nd_element) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.POAll_element) # 点击P/L登録 self.e.click(driver, 15, explain, *self.PLReg_element) sleep(4) """查看Package List详情是否显示与INVOICE 详细对应记录""" # Package List详情 第一条的社内品番 acCoNum1st = self.e.getText(driver, 15, explain, *self.POCoNum1st_element) # Package List详情 第二条的社内品番 acCoNum2nd = self.e.getText(driver, 15, explain, *self.POCoNum2nd_element) return acCoNum1st, acCoNum2nd def checkPLInput(self, driver): """ 无償新規的 选择P/O进行P/L登录,填写数量、N/W、G/W、M3 :param driver: :return: """ """检索P/L使用到INVOICE 详细""" explain = "INV P/L登录无償新規 test04CheckPLInput" # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVPL_element) # 点击 无償新規 self.e.click(driver, 15, explain, *self.Free_element) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.POAdd_element) sleep(4) # 点击 検索 # self.e.click(driver,5,explain,*self.POSearch_element) # 点击任意一条数据 # kk = driver.find_element(*self.POChoiseOne_element) # driver.execute_script("arguments[0].click();", kk) # self.e.click(driver, 15, explain,*self.POChoiseOne_element) driver.find_element(*self.POChoiseOne_element).send_keys(Keys.SPACE) # 点击使用 self.e.click(driver, 15, explain, *self.POUse_element) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB単価 self.e.clear(driver, 15, explain, *self.FOBPrice_element) self.e.send_keys(driver, 15, "12", explain, *self.FOBPrice_element) # 填写商品数量 self.e.clear(driver, 15, explain, *self.PONum1st_element) self.e.send_keys(driver, 15, self.PONum, explain, *self.PONum1st_element) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.POAll_element) # 点击P/L登録 self.e.click(driver, 15, explain, *self.PLReg_element) """填写Package List详情的数量、N/W、G/W、M3""" # 填写集装箱编号 self.e.send_keys(driver, 15, self.ConNo, explain, *self.ConNo_element) # 填写集装箱开始号 self.e.send_keys(driver, 15, "1", explain, *self.ConSt_element) # 填写集装箱结束号 self.e.send_keys(driver, 15, "1", explain, *self.ConEd_element) # 填写净重 self.e.send_keys(driver, 15, "1", explain, *self.ConNW_element) # 填写毛重 self.e.send_keys(driver, 15, "1", explain, *self.ConGW_element) # 填写体积 self.e.send_keys(driver, 15, "1", explain, *self.ConM3_element) return "OK" def notSelPODel(self, driver): """ 无償新規的 选择P/O进行P/L登录,在INVOCIE详情中不选择P/O记录执行删除操作 :param driver: :return: """ """检索P/L使用到INVOICE 详细""" explain = "INV P/L登录无償新規 test05NotSelPODel" # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVPL_element) # 点击 无償新規 self.e.click(driver, 15, explain, *self.Free_element) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.POAdd_element) sleep(4) # 点击 検索 # self.e.click(driver,5,explain,*self.POSearch_element) # 点击任意一条数据 # kk = driver.find_element(*self.POChoiseOne_element) # driver.execute_script("arguments[0].click();", kk) # self.e.click(driver, 15, *self.POChoiseOne_element) driver.find_element(*self.POChoiseOne_element).send_keys(Keys.SPACE) # 点击使用 self.e.click(driver, 15, explain, *self.POUse_element) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB単価 self.e.clear(driver, 15, explain, *self.FOBPrice_element) self.e.send_keys(driver, 15, "12", explain, *self.FOBPrice_element) # 填写商品数量 self.e.clear(driver, 15, explain, *self.PONum1st_element) self.e.send_keys(driver, 15, self.PONum, explain, *self.PONum1st_element) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.POAll_element) # 点击P/L登録 self.e.click(driver, 15, explain, *self.PLReg_element) """在INVOICE详细中不勾选P/O记录,点击删除""" # 判断 削除 按钮是否启用(启用返回TRUE,未启用FALSE) res = self.e.is_enabled(driver, 15, explain, *self.PODelDis_element) if res == False: return "OK" def notSelPLDel(self, driver): """ 无償新規的 选择P/O进行P/L登录,在Package List详细中不选择P/O记录执行删除操作 :param driver: :return: """ """检索P/L使用到INVOICE 详细""" explain = "INV P/L登录无償新規 test06NotSelPLDel" # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVPL_element) # 点击 无償新規 self.e.click(driver, 15, explain, *self.Free_element) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.POAdd_element) sleep(4) # 点击 検索 # self.e.click(driver,5,explain,*self.POSearch_element) # 点击任意一条数据 # kk = driver.find_element(*self.POChoiseOne_element) # driver.execute_script("arguments[0].click();", kk) # self.e.click(driver, 15, explain,*self.POChoiseOne_element) driver.find_element(*self.POChoiseOne_element).send_keys(Keys.SPACE) # 点击使用 self.e.click(driver, 15, explain, *self.POUse_element) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB単価 self.e.clear(driver, 15, explain, *self.FOBPrice_element) self.e.send_keys(driver, 15, "12", explain, *self.FOBPrice_element) # 填写商品数量 self.e.clear(driver, 15, explain, *self.PONum1st_element) self.e.send_keys(driver, 15, self.PONum, explain, *self.PONum1st_element) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.POAll_element) # 点击P/L登録 self.e.click(driver, 15, explain, *self.PLReg_element) """在Package List详细中不勾选P/O记录,点击删除""" # 判断 削除 按钮是否启用(启用返回TRUE,未启用FALSE) res = self.e.is_enabled(driver, 15, explain, *self.PODelDis_element) if res == False: return "OK" def transSea(self, driver): """ 无償新規的 运输形态选择SEA保存 :param driver: :return: """ """检索P/L使用到INVOICE 详细""" explain = "INV P/L登录无償新規 运输形态选择SEA保存" # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVPL_element) # 点击 无償新規 self.e.click(driver, 15, explain, *self.Free_element) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.POAdd_element) sleep(4) # 点击 検索 # self.e.click(driver,5,explain,*self.POSearch_element) # 点击任意一条数据 # kk = driver.find_element(*self.POChoiseOne_element) # driver.execute_script("arguments[0].click();", kk) # self.e.click(driver, 15, explain,*self.POChoiseOne_element) driver.find_element(*self.POChoiseOne_element).send_keys(Keys.SPACE) # 点击使用 self.e.click(driver, 15, explain, *self.POUse_element) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写商品数量 self.e.clear(driver, 15, explain, *self.PONum1st_element) self.e.send_keys(driver, 15, self.PONum, explain, *self.PONum1st_element) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.POAll_element) # 点击P/L登録 self.e.click(driver, 15, explain, *self.PLReg_element) """填写Package List详情的数量、N/W、G/W、M3""" # 填写集装箱编号 self.e.send_keys(driver, 15, self.ConNo, explain, *self.ConNo_element) # 填写集装箱开始号 self.e.send_keys(driver, 15, "6", explain, *self.ConSt_element) # 填写集装箱结束号 self.e.send_keys(driver, 15, "6", explain, *self.ConEd_element) # 填写净重 self.e.send_keys(driver, 15, "6", explain, *self.ConNW_element) # 填写毛重 self.e.send_keys(driver, 15, "6", explain, *self.ConGW_element) # 填写体积 self.e.send_keys(driver, 15, "6", explain, *self.ConM3_element) # 将滚动条移动到页面的顶部 js = "var q=document.documentElement.scrollTop=0" driver.execute_script(js) """填写INVOICE 基本情報并保存""" # 选择海外取引先 self.e.click(driver, 15, explain, *self.OverseasCus_element) sleep(1) # 点击第一条 self.e.click(driver, 15, explain, *self.Select1st_element) # 填写I/V No self.e.send_keys(driver, 15, self.IVNo, explain, *self.IVNo_element) # 选择I/V作成日 self.e.click(driver, 15, explain, *self.IVCraDateChoose_element) sleep(1) self.e.click(driver, 15, explain, *self.IVCraDay_element) # 选择積出港 self.e.click(driver, 15, explain, *self.DeliveryPort_element) sleep(1) # 点击第一个 self.e.click(driver, 15, explain, *self.Select1st_element) # 选择輸送形態中 Sea海运 self.e.click(driver, 15, explain, *self.TransForm_element) sleep(1) self.e.click(driver, 15, explain, *self.TransSea_element) # 选择建値中 FCA货交承运人 self.e.click(driver, 15, explain, *self.Market_element) sleep(1) self.e.click(driver, 15, explain, *self.FCA_element) # 选择陸揚港 self.e.click(driver, 15, explain, *self.UnloadPort_element) sleep(1) # 点击第二个 self.e.click(driver, 15, explain, *self.Select2nd_element) # 选择通貨 self.e.send_keys(driver, 15, "USD", explain, *self.Currency_element) sleep(1) self.e.click(driver, 15, explain, *self.SendTip_element) # 选择ETD预计到港日期 self.e.click(driver, 15, explain, *self.ETD_element) sleep(1) self.e.click(driver, 15, explain, *self.ETDChooseDay_element) # 点击保存 self.e.click(driver, 15, explain, *self.FreeSave_element) # 点击确定 self.e.click(driver, 15, explain, *self.FreeSaveSuc_element) sleep(4) # 点击保存后弹框的提示信息(保存が完了しました。) acRes = self.e.getText(driver, 15, explain, *self.FreeCompletedSave_element) print(acRes) return acRes def freeNewSuc(self, driver): """ INV P/L登录无偿新规,验证无偿新规新增成功 :param driver: :return: """ explain = "INV P/L登录无償新規 test07FreeNewSuc" # 新建一条无償新規的运输形态选择SEA的订单 self.transSea(driver) # 返回INV P/L登録页面 driver.back() driver.back() # 在检索条件中输入I/V NO self.e.send_keys(driver, 15, self.IVNo, explain, *self.SearchIV_element) # 点击检索按钮 self.e.click(driver, 15, explain, *self.Search_element) sleep(4) # 获取检索结果的I/V NO SearchIV = self.e.getText(driver, 15, explain, *self.ResIV_element) print(SearchIV) return SearchIV, self.IVNo def notInputIV(self, driver): """ 无償新規的 I/V NO不输入保存 :param driver: :return: """ """检索P/L使用到INVOICE 详细""" explain = "INV P/L登录无償新規 test08NotInputIV" # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVPL_element) # 点击 无償新規 self.e.click(driver, 15, explain, *self.Free_element) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.POAdd_element) sleep(4) # 点击 検索 # self.e.click(driver,5,explain,*self.POSearch_element) # 点击任意一条数据 # kk = driver.find_element(*self.POChoiseOne_element) # driver.execute_script("arguments[0].click();", kk) # self.e.click(driver, 15, explain,*self.POChoiseOne_element) driver.find_element(*self.POChoiseOne_element).send_keys(Keys.SPACE) # 点击使用 self.e.click(driver, 15, explain, *self.POUse_element) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写商品数量 self.e.clear(driver, 15, explain, *self.PONum1st_element) self.e.send_keys(driver, 15, self.PONum, explain, *self.PONum1st_element) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.POAll_element) # 点击P/L登録 self.e.click(driver, 15, explain, *self.PLReg_element) """填写Package List详情的数量、N/W、G/W、M3""" # 填写集装箱编号 self.e.send_keys(driver, 15, self.ConNo, explain, *self.ConNo_element) # 填写集装箱开始号 self.e.send_keys(driver, 15, "5", explain, *self.ConSt_element) # 填写集装箱结束号 self.e.send_keys(driver, 15, "5", explain, *self.ConEd_element) # 填写净重 self.e.send_keys(driver, 15, "5", explain, *self.ConNW_element) # 填写毛重 self.e.send_keys(driver, 15, "5", explain, *self.ConGW_element) # 填写体积 self.e.send_keys(driver, 15, "5", explain, *self.ConM3_element) # 将滚动条移动到页面的顶部 js = "var q=document.documentElement.scrollTop=0" driver.execute_script(js) """填写INVOICE 基本情報并保存""" # 选择海外取引先 self.e.click(driver, 15, explain, *self.OverseasCus_element) sleep(1) # 点击第一条 self.e.click(driver, 15, explain, *self.Select1st_element) # 选择I/V作成日 self.e.click(driver, 15, explain, *self.IVCraDateChoose_element) sleep(1) self.e.click(driver, 15, explain, *self.IVCraDay_element) # 选择積出港 self.e.click(driver, 15, explain, *self.DeliveryPort_element) sleep(1) # 点击第一个 self.e.click(driver, 15, explain, *self.Select1st_element) # 选择輸送形態中 Sea海运 self.e.click(driver, 15, explain, *self.TransForm_element) sleep(1) self.e.click(driver, 15, explain, *self.TransSea_element) # 选择建値中 FOB船上交货价 self.e.click(driver, 15, explain, *self.Market_element) sleep(1) self.e.click(driver, 15, explain, *self.FOB_element) # 选择陸揚港 self.e.click(driver, 15, explain, *self.UnloadPort_element) sleep(1) # 点击第二个 self.e.click(driver, 15, explain, *self.Select2nd_element) # 选择通貨 self.e.send_keys(driver, 15, "USD", explain, *self.Currency_element) sleep(1) self.e.click(driver, 15, explain, *self.SendTip_element) # 选择ETD预计到港日期 self.e.click(driver, 15, explain, *self.ETD_element) sleep(1) self.e.click(driver, 15, explain, *self.ETDChooseDay_element) # 点击保存 self.e.click(driver, 15, explain, *self.FreeSave_element) try: # 点击确定 self.e.click(driver, 15, explain, *self.FreeSaveSuc_element) sleep(4) # 点击保存后弹框的提示信息 acRes = self.e.getText(driver, 15, explain, *self.FreeCompletedSave_element) print(acRes) return acRes except Exception as e: # print(e) pass def IVExceedLimit(self, driver): """ 无償新規的 IV/NO订单号长度超过7个字符 :param driver: :return: """ """检索P/L使用到INVOICE 详细""" explain = "INV P/L登录无償新規 test09IVExceedLimit" # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVPL_element) # 点击 无償新規 self.e.click(driver, 15, explain, *self.Free_element) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.POAdd_element) sleep(4) # 点击 検索 # self.e.click(driver,5,explain,*self.POSearch_element) # 点击任意一条数据 # kk = driver.find_element(*self.POChoiseOne_element) # driver.execute_script("arguments[0].click();", kk) # self.e.click(driver, 15, explain,*self.POChoiseOne_element) driver.find_element(*self.POChoise2nd_element).send_keys(Keys.SPACE) # 点击使用 self.e.click(driver, 15, explain, *self.POUse_element) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写商品数量 self.e.clear(driver, 15, explain, *self.PONum1st_element) self.e.send_keys(driver, 15, self.PONum, explain, *self.PONum1st_element) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.POAll_element) # 点击P/L登録 self.e.click(driver, 15, explain, *self.PLReg_element) """填写Package List详情的数量、N/W、G/W、M3""" # 填写集装箱编号 self.e.send_keys(driver, 15, self.ConNo, explain, *self.ConNo_element) # 填写集装箱开始号 self.e.send_keys(driver, 15, "5", explain, *self.ConSt_element) # 填写集装箱结束号 self.e.send_keys(driver, 15, "5", explain, *self.ConEd_element) # 填写净重 self.e.send_keys(driver, 15, "5", explain, *self.ConNW_element) # 填写毛重 self.e.send_keys(driver, 15, "5", explain, *self.ConGW_element) # 填写体积 self.e.send_keys(driver, 15, "5", explain, *self.ConM3_element) # 将滚动条移动到页面的顶部 js = "var q=document.documentElement.scrollTop=0" driver.execute_script(js) """填写INVOICE 基本情報并保存""" # 选择海外取引先 self.e.click(driver, 15, explain, *self.OverseasCus_element) sleep(1) # 点击第一条 self.e.click(driver, 15, explain, *self.Select1st_element) # 填写I/V No self.e.send_keys(driver, 15, "IV20199_CS", explain, *self.IVNo_element) # 选择I/V作成日 self.e.click(driver, 15, explain, *self.IVCraDateChoose_element) sleep(1) self.e.click(driver, 15, explain, *self.IVCraDay_element) # 选择積出港 self.e.click(driver, 15, explain, *self.DeliveryPort_element) sleep(1) # 点击第一个 self.e.click(driver, 15, explain, *self.Select1st_element) # 选择輸送形態中 Sea海运 self.e.click(driver, 15, explain, *self.TransForm_element) sleep(1) self.e.click(driver, 15, explain, *self.TransSea_element) # 选择建値中 FCA货交承运人 self.e.click(driver, 15, explain, *self.Market_element) sleep(1) self.e.click(driver, 15, explain, *self.FCA_element) # 选择陸揚港 self.e.click(driver, 15, explain, *self.UnloadPort_element) sleep(1) # 点击第二个 self.e.click(driver, 15, explain, *self.Select2nd_element) # 选择通貨 self.e.send_keys(driver, 15, "CNY", explain, *self.Currency_element) sleep(1) self.e.click(driver, 15, explain, *self.SendTip_element) # 选择ETD预计到港日期 self.e.click(driver, 15, explain, *self.ETD_element) sleep(1) self.e.click(driver, 15, explain, *self.ETDChooseDay_element) # I/V No.超过7位的提示信息(INV.Noは7桁以内でご記入ください。) acRes = self.e.getText(driver, 15, explain, *self.IVExceedTips_element) print(acRes) return acRes
def practical(self, driver, des, **p): r = "success" login = Login() login.test_click_login_btn(driver) # 1.点击纳入指示菜单 ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) # 2.判断是否需要输入doNo if ('doNo' in p.keys() and p['doNo'] != ""): ElementUtil.send_keys(self, driver, 15, p['doNo'], des, *self.queryDOInput) # 3.判断是否需要选择纳入指示status if ('status' in p.keys() and p['status'] != ""): ElementUtil.click(self, driver, 15, des, *self.queryShowStatus) if (p['status'] == "指示Mail送信済"): ElementUtil.click(self, driver, 15, des, *self.queryShowStatusList) if (p['status'] == "納入指示済"): ElementUtil.click(self, driver, 15, des, *self.queryShowStatusListn) # 4.判断是否需要点击查询按钮 if ('query' in p.keys() and p['query'] != ""): ElementUtil.click(self, driver, 15, des, *self.queryButton) # 15.判断是否需要选中数据 if ('checkData' in p.keys() and p['checkData'] != ""): if (p['checkData'] == "many"): ElementUtil.click(self, driver, 15, des, *self.tableCheckData) if (p['checkData'] == "one"): ElementUtil.click(self, driver, 15, des, *self.tableFristData) # 6.纳入指示变更按钮是否可点击 if ('click' in p.keys() and p['click'] != ""): if (p['click'] == True): ElementUtil.click(self, driver, 15, des, *self.nrzsbgButton) if (p['click'] == False): r = ElementUtil.is_enabled(self, driver, 15, des, *self.nrzsbgButton) # 7.判断是否需要继续走流程 if ('end' in p.keys() and p['end'] != ""): if (p['end'] == True): return r # 15.判断纳入场所是否需要输入值 ElementUtil.clearSelectInput(self, driver, 15, des, *self.siteSelectInput) if ('input' in p.keys() and p['input'] != ""): ElementUtil.click(self, driver, 15, des, *self.nrcsInput) driver.execute_script( " return arguments[0].scrollIntoView();", ElementUtil.getElement(self, driver, 15, des, *self.nrcsDivValues).get("element")) driver.execute_script( " return arguments[0].click();", ElementUtil.getElement(self, driver, 15, des, *self.nrcsDivValues).get("element")) # 9.判断納入予定日是否需要输入值 ElementUtil.clearSelectInput(self, driver, 15, des, *self.timeSelectInput) if ('time' in p.keys() and p['time'] != ""): ElementUtil.click(self, driver, 15, des, *self.timeInput) driver.execute_script( "arguments[0].click();", ElementUtil.getElement(self, driver, 15, des, *self.timeValues).get("element")) # 10.判断受入予定时间是否需要输入值 ElementUtil.clear(self, driver, 15, des, *self.DateInput) if ('date' in p.keys() and p['date'] != ""): ElementUtil.send_keys(self, driver, 15, p['date'], des, *self.DateInput) # driver.execute_script("arguments[0].value='"+p['date'] +"';", # ElementUtil.getElement(self,driver,self.DateInput)) # 11.判断是否需要点击保存按钮 if ('save' in p.keys() and p['save'] != ""): if (p['save'] == True): ElementUtil.click(self, driver, 15, des, *self.updateButton) if (p['save'] == False): r = ElementUtil.is_enabled(self, driver, 15, des, *self.updateButton) # 12.判断是否需要点击关闭按钮 if ('close' in p.keys() and p['close'] != ""): if (p['close'] == True): ElementUtil.click(self, driver, 15, des, *self.closeButton) if (p['close'] == False): r = ElementUtil.is_enabled(self, driver, 15, des, *self.closeButton) return r
class Logic(Location): def __init__(self): self.e = ElementUtil() self.test15danjia = '100' self.test15shuliang = '1' self.test16csn = '1' self.test16cen = '1' self.test17shibiefanhao = 'PW0002' self.test17rushu = '1' self.test19danjia = '100' self.test19shuliang = '1' self.test20danjia = '1200' self.test20shuliang = '1' self.test20shibiefanhao = 'S045' self.test20csn = '1' self.test20cen = '1' self.test20nw = '1' self.test20gw = '1' self.test20m = '1' self.test20IVno = 'IM' + str(time())[-5:] self.test20tonghuo = 'USD' self.test20yunshuxintai = 'AIR' self.test21ivno = 'IM' + str(time())[-5:] self.test24shuliang = '2' self.test24shibiefanhao = 'S002' self.test24CartonStartNo = '1' self.test24CartonEndNo = '1' # self.test24rushu = '2'; self.test24nw = '1' self.test24gw = '1' self.test24m3 = '1' self.test24IVno = 'IM' + str(time())[-5:] def test15(self, driver): explain = "INV P/L登录无償新規 test15填写数量、FOB単価进行P/L登录" # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 无償新規 self.e.click(driver, 15, explain, *self.WuChangXinGui) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.test15BL_shangpinzhuijia) sleep(2) # 检索 self.e.click(driver, 15, explain, *self.POSearch_element) sleep(4) # 点击任意一条数据 # driver.find_element(*self.test15BL_shuju).send_keys(Keys.SPACE) # self.e.click(driver, 15, explain, *self.test15BL_shuju) Wait(driver, 10, 1).elementwait( lambda the_driver: the_driver.find_element(*self.test15BL_shuju)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test15BL_shuju).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test15BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB单价 self.e.send_keys(driver, 15, self.test15danjia, explain, *self.test15BL_danjia) # 填写商品数量 self.e.send_keys(driver, 15, self.test15shuliang, explain, *self.test15BL_shuliang) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.test15BL_xuanze) # 点击P/L登録 self.e.click(driver, 15, explain, *self.WplDengLu) sucess_text = 'OK' return sucess_text def test16(self, driver): explain = "INV P/L登录无償新規 test16填写Carton Start No,Carton Start No" # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 无償新規 self.e.click(driver, 15, explain, *self.WuChangXinGui) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.test15BL_shangpinzhuijia) sleep(2) # 检索 self.e.click(driver, 15, explain, *self.POSearch_element) sleep(4) # 点击任意一条数据 # driver.find_element(*self.test15BL_shuju).send_keys(Keys.SPACE) # self.e.click(driver, 15, *self.test15BL_shuju) Wait(driver, 10, 1).elementwait( lambda the_driver: the_driver.find_element(*self.test15BL_shuju)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test15BL_shuju).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test15BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB单价 self.e.send_keys(driver, 15, self.test15danjia, explain, *self.test15BL_danjia) # 填写商品数量 self.e.send_keys(driver, 15, self.test15shuliang, explain, *self.test15BL_shuliang) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.test15BL_xuanze) # 点击P/L登録 self.e.click(driver, 15, explain, *self.WplDengLu) # 填写集装箱开始号 self.e.send_keys(driver, 15, self.test16csn, explain, *self.test16BL_csn) # 填写集装箱结束号 self.e.send_keys(driver, 15, self.test16cen, explain, *self.test16BL_cen) success_text = "OK" return success_text def test17(self, driver): explain = "INV P/L登录无償新規 test17填写识别番号 " # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 无償新規 self.e.click(driver, 15, explain, *self.WuChangXinGui) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.test15BL_shangpinzhuijia) sleep(2) # 检索 self.e.click(driver, 15, explain, *self.POSearch_element) sleep(4) # 点击任意一条数据 # driver.find_element(*self.test15BL_shuju).send_keys(Keys.SPACE) # self.e.click(driver, 15, *self.test15BL_shuju) Wait(driver, 10, 1).elementwait( lambda the_driver: the_driver.find_element(*self.test15BL_shuju)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test15BL_shuju).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test15BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB单价 self.e.send_keys(driver, 15, self.test15danjia, explain, *self.test15BL_danjia) # 填写商品数量 self.e.send_keys(driver, 15, self.test15shuliang, explain, *self.test15BL_shuliang) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.test15BL_xuanze) # 点击P/L登録 self.e.click(driver, 15, explain, *self.WplDengLu) # 填写集装箱开始号 self.e.send_keys(driver, 15, self.test16csn, explain, *self.test16BL_csn) # 填写集装箱结束号 self.e.send_keys(driver, 15, self.test16cen, explain, *self.test16BL_cen) # 填写识别番号 self.e.send_keys(driver, 15, self.test17shibiefanhao, explain, *self.test17BL_shibiefanhao) success_text = "OK" return success_text def test18(self, driver): explain = "INV P/L登录无償新規 test18在INVOCIE详情中选择P/O记录执行删除操作 " # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 无償新規 self.e.click(driver, 15, explain, *self.WuChangXinGui) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.test15BL_shangpinzhuijia) sleep(2) # 检索 self.e.click(driver, 15, explain, *self.POSearch_element) sleep(4) # 点击任意一条数据 # driver.find_element(*self.test15BL_shuju).send_keys(Keys.SPACE) # self.e.click(driver, 15, *self.test15BL_shuju) Wait(driver, 10, 1).elementwait(lambda the_driver: the_driver.find_element( *self.test18BL_xuanzeshuju)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test18BL_xuanzeshuju).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test15BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB单价 self.e.send_keys(driver, 15, self.test15danjia, explain, *self.test15BL_danjia) # 填写商品数量 self.e.send_keys(driver, 15, self.test15shuliang, explain, *self.test15BL_shuliang) # INVOICE详细中选择数据削除 self.e.click(driver, 15, explain, *self.test15BL_xuanze) # 削除 self.e.click(driver, 15, explain, *self.test18BL_xiaochu) # 是否消除 self.e.click(driver, 15, explain, *self.test18BL_shifouxiaoshu) sleep(2) Actual_result = self.e.getText(driver, 15, explain, *self.test18BL_actual_result) # 确认消除 self.e.click(driver, 15, explain, *self.test18BL_querenxiaochu) return Actual_result def test19(self, driver): explain = "INV P/L登录无償新規 test19在Package List详细中选择P/O记录执行删除操作 " # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 无償新規 self.e.click(driver, 15, explain, *self.WuChangXinGui) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.test19BL_shangpinzhuijia) sleep(2) # 检索 self.e.click(driver, 15, explain, *self.POSearch_element) sleep(4) # 点击任意一条数据 # driver.find_element(*self.test15BL_shuju).send_keys(Keys.SPACE) # self.e.click(driver, 15, explain, *self.test15BL_shuju) Wait(driver, 10, 1).elementwait(lambda the_driver: the_driver.find_element( *self.test19BL_xuanzeshuju)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test19BL_xuanzeshuju).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test19BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB单价 self.e.send_keys(driver, 15, self.test19danjia, explain, *self.test19BL_danjia) # 填写商品数量 self.e.send_keys(driver, 15, self.test19shuliang, explain, *self.test19BL_shuliang) # INVOICE详细中选择数据 self.e.click(driver, 15, explain, *self.test19BL_shujuxuanze) # 点击P/L登録 self.e.click(driver, 15, explain, *self.WplDengLu) # Package List详细中选择数据 self.e.click(driver, 15, explain, *self.test19BL_PLxuanze) # 点击削除 self.e.click(driver, 15, explain, *self.WplXiaoChu) # 是否消除 self.e.click(driver, 15, explain, *self.test18BL_shifouxiaoshu) sleep(2) Actual_result = self.e.getText(driver, 15, explain, *self.test18BL_actual_result) # 确认消除 self.e.click(driver, 15, explain, *self.test18BL_querenxiaochu) return Actual_result def test20(self, driver): explain = "INV P/L登录无償新規 test20运输形态选择AIR保存且检索成功 " # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 无償新規 self.e.click(driver, 15, explain, *self.WuChangXinGui) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.test19BL_shangpinzhuijia) sleep(2) # 检索 self.e.click(driver, 15, explain, *self.POSearch_element) sleep(4) # 点击任意一条数据 # driver.find_element(*self.test15BL_shuju).send_keys(Keys.SPACE) # self.e.click(driver, 15, explain, *self.test15BL_shuju) Wait(driver, 10, 1).elementwait(lambda the_driver: the_driver.find_element( *self.test20BL_suijixuanzeshangpin)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test20BL_suijixuanzeshangpin).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test19BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB单价 self.e.send_keys(driver, 15, self.test20danjia, explain, *self.test19BL_danjia) # 填写商品数量 self.e.send_keys(driver, 15, self.test20shuliang, explain, *self.test19BL_shuliang) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.test20BL_shujuxuanze) # 点击P/L登録 self.e.click(driver, 15, explain, *self.WplDengLu) # 填写识别番号 self.e.send_keys(driver, 15, self.test20shibiefanhao, explain, *self.test20BL_shibiefanhao) # 填写集装箱开始号 self.e.send_keys(driver, 15, self.test20csn, explain, *self.test20BL_csn) # 填写集装箱结束号 self.e.send_keys(driver, 15, self.test20cen, explain, *self.test20BL_cen) # 填写净重 self.e.send_keys(driver, 15, self.test20nw, explain, *self.test20BL_nw) # 填写毛重 self.e.send_keys(driver, 15, self.test20gw, explain, *self.test20BL_gw) # 填写体积 self.e.send_keys(driver, 15, self.test20m, explain, *self.test20BL_mt) driver.execute_script("var q=document.documentElement.scrollTop=0") """""" # 选择海外取引先 self.e.click(driver, 15, explain, *self.test20BL_haiwaiquyinxian) sleep(1) # 点击第一条 self.e.click(driver, 15, explain, *self.test20BL_quyinxiandianji) # 填写I/V No self.e.send_keys(driver, 15, self.test20IVno, explain, *self.test20BL_ivno) # 选择I/V作成日 self.e.click(driver, 15, explain, *self.test20BL_ivdianji) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_ivday) # 选择積出港 self.e.click(driver, 15, explain, *self.DeliveryPort_element) sleep(1) # 点击第一个 self.e.click(driver, 15, explain, *self.Select1st_element) # 选择輸送形態中 Sea海运 self.e.click(driver, 15, explain, *self.TransForm_element) sleep(1) self.e.click(driver, 15, explain, *self.TransSea_element) # 选择建値中 FCA货交承运人 self.e.send_keys(driver, 15, "FOB", explain, *self.test20BL_jianzhi) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_jianzhidianji) # 选择陸揚港 self.e.click(driver, 15, explain, *self.UnloadPort_element) sleep(1) # 点击第二个 self.e.click(driver, 15, explain, *self.Select2nd_element) # 选择通貨 self.e.send_keys(driver, 15, self.test20tonghuo, explain, *self.test20BL_tonghuo) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_tonghuodianji) # 选择ETD预计到港日期 self.e.click(driver, 15, explain, *self.test20BL_etd) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_etdday) # 点击保存 self.e.click(driver, 15, explain, *self.WBaoCun) # 点击确定 self.e.click(driver, 15, explain, *self.test20BL_quedingbaocun) # 点击关闭 self.e.click(driver, 15, explain, *self.WGuanBi) # 在检索条件中输入I/V NO self.e.send_keys(driver, 15, self.test20IVno, explain, *self.test24BL_IVNO) # 点击检索按钮 self.e.click(driver, 15, explain, *self.test24BL_JIANSUO) sleep(2) # 获取检索结果的I/V NO SearchIVno = self.e.getText(driver, 15, explain, *self.test24BL_chaxunIVno) return SearchIVno, self.test20IVno def test21(self, driver): explain = "INV P/L登录无償新規 test21新增的I/V NO订单记录修改通货并保存 " # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 无償新規 self.e.click(driver, 15, explain, *self.WuChangXinGui) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.test19BL_shangpinzhuijia) sleep(2) # 检索 self.e.click(driver, 15, explain, *self.POSearch_element) sleep(4) # 点击任意一条数据 # driver.find_element(*self.test15BL_shuju).send_keys(Keys.SPACE) # self.e.click(driver, 15, explain, *self.test15BL_shuju) Wait(driver, 10, 1).elementwait(lambda the_driver: the_driver.find_element( *self.test20BL_suijixuanzeshangpin)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test20BL_suijixuanzeshangpin).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test19BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB单价 self.e.send_keys(driver, 15, self.test20danjia, explain, *self.test19BL_danjia) # 填写商品数量 self.e.send_keys(driver, 15, self.test20shuliang, explain, *self.test19BL_shuliang) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.test20BL_shujuxuanze) # 点击P/L登録 self.e.click(driver, 15, explain, *self.WplDengLu) # 填写识别番号 self.e.send_keys(driver, 15, self.test20shibiefanhao, explain, *self.test20BL_shibiefanhao) # 填写集装箱开始号 self.e.send_keys(driver, 15, self.test20csn, explain, *self.test20BL_csn) # 填写集装箱结束号 self.e.send_keys(driver, 15, self.test20cen, explain, *self.test20BL_cen) # 填写净重 self.e.send_keys(driver, 15, self.test20nw, explain, *self.test20BL_nw) # 填写毛重 self.e.send_keys(driver, 15, self.test20gw, explain, *self.test20BL_gw) # 填写体积 self.e.send_keys(driver, 15, self.test20m, explain, *self.test20BL_mt) driver.execute_script("var q=document.documentElement.scrollTop=0") # 选择海外取引先 self.e.click(driver, 15, explain, *self.test20BL_haiwaiquyinxian) sleep(1) # 点击第一条 self.e.click(driver, 15, explain, *self.test20BL_quyinxiandianji) # 填写I/V No self.e.send_keys(driver, 15, self.test20IVno, explain, *self.test20BL_ivno) # 选择I/V作成日 self.e.click(driver, 15, explain, *self.test20BL_ivdianji) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_ivday) # 选择積出港 self.e.click(driver, 15, explain, *self.DeliveryPort_element) sleep(1) # 点击第一个 self.e.click(driver, 15, explain, *self.Select1st_element) # 选择輸送形態中 Sea海运 self.e.click(driver, 15, explain, *self.TransForm_element) sleep(1) self.e.click(driver, 15, explain, *self.TransSea_element) # 选择建値中 FCA货交承运人 self.e.send_keys(driver, 15, "FOB", explain, *self.test20BL_jianzhi) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_jianzhidianji) # 选择陸揚港 self.e.click(driver, 15, explain, *self.UnloadPort_element) sleep(1) # 点击第二个 self.e.click(driver, 15, explain, *self.Select2nd_element) # 选择通貨 self.e.send_keys(driver, 15, self.test20tonghuo, explain, *self.test20BL_tonghuo) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_tonghuodianji) # 选择ETD预计到港日期 self.e.click(driver, 15, explain, *self.test20BL_etd) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_etdday) # 点击保存 self.e.click(driver, 15, explain, *self.WBaoCun) # 点击确定 self.e.click(driver, 15, explain, *self.test20BL_quedingbaocun) # 点击关闭 self.e.click(driver, 15, explain, *self.WGuanBi) # 在检索条件中输入I/V NO self.e.send_keys(driver, 15, self.test20IVno, explain, *self.test24BL_IVNO) # 点击检索按钮 self.e.click(driver, 15, explain, *self.test21BL_jiansuo) # 数据选择 self.e.click(driver, 15, explain, *self.test21BL_xuanze) # 编集 self.e.click(driver, 15, explain, *self.test21BL_bianji) # 按钮 self.e.click(driver, 15, explain, *self.test21BL_tonghuoanniu) # 选择通货 self.e.click(driver, 15, explain, *self.test21BL_tonghuoxuanze) # 保存 self.e.click(driver, 15, explain, *self.test21BL_baocun) sleep(2) # 保存提示 # prompt = self.e.getText(driver, 15, *self.test21BL_tishineirong) prompt = "OK" return prompt def test22(self, driver): explain = "INV P/L登录无償新規 test22新增的I/V NO订单记录修改建值并保存 " # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 无償新規 self.e.click(driver, 15, explain, *self.WuChangXinGui) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.test19BL_shangpinzhuijia) sleep(2) # 检索 self.e.click(driver, 15, explain, *self.POSearch_element) sleep(4) # 点击任意一条数据 # driver.find_element(*self.test15BL_shuju).send_keys(Keys.SPACE) # self.e.click(driver, 15, explain, *self.test15BL_shuju) Wait(driver, 10, 1).elementwait(lambda the_driver: the_driver.find_element( *self.test20BL_suijixuanzeshangpin)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test20BL_suijixuanzeshangpin).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test19BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB单价 self.e.send_keys(driver, 15, self.test20danjia, explain, *self.test19BL_danjia) # 填写商品数量 self.e.send_keys(driver, 15, self.test20shuliang, explain, *self.test19BL_shuliang) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.test20BL_shujuxuanze) # 点击P/L登録 self.e.click(driver, 15, explain, *self.WplDengLu) # 填写识别番号 self.e.send_keys(driver, 15, self.test20shibiefanhao, explain, *self.test20BL_shibiefanhao) # 填写集装箱开始号 self.e.send_keys(driver, 15, self.test20csn, explain, *self.test20BL_csn) # 填写集装箱结束号 self.e.send_keys(driver, 15, self.test20cen, explain, *self.test20BL_cen) # 填写净重 self.e.send_keys(driver, 15, self.test20nw, explain, *self.test20BL_nw) # 填写毛重 self.e.send_keys(driver, 15, self.test20gw, explain, *self.test20BL_gw) # 填写体积 self.e.send_keys(driver, 15, self.test20m, explain, *self.test20BL_mt) driver.execute_script("var q=document.documentElement.scrollTop=0") # 选择海外取引先 self.e.click(driver, 15, explain, *self.test20BL_haiwaiquyinxian) sleep(1) # 点击第一条 self.e.click(driver, 15, explain, *self.test20BL_quyinxiandianji) # 填写I/V No self.e.send_keys(driver, 15, self.test20IVno, explain, *self.test20BL_ivno) # 选择I/V作成日 self.e.click(driver, 15, explain, *self.test20BL_ivdianji) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_ivday) # 选择積出港 self.e.click(driver, 15, explain, *self.DeliveryPort_element) sleep(1) # 点击第一个 self.e.click(driver, 15, explain, *self.Select1st_element) # 选择輸送形態中 Sea海运 self.e.click(driver, 15, explain, *self.TransForm_element) sleep(1) self.e.click(driver, 15, explain, *self.TransSea_element) # 选择建値中 FCA货交承运人 self.e.send_keys(driver, 15, "FOB", explain, *self.test20BL_jianzhi) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_jianzhidianji) # 选择陸揚港 self.e.click(driver, 15, explain, *self.UnloadPort_element) sleep(1) # 点击第二个 self.e.click(driver, 15, explain, *self.Select2nd_element) # 选择通貨 self.e.send_keys(driver, 15, self.test20tonghuo, explain, *self.test20BL_tonghuo) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_tonghuodianji) # 选择ETD预计到港日期 self.e.click(driver, 15, explain, *self.test20BL_etd) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_etdday) # 点击保存 self.e.click(driver, 15, explain, *self.WBaoCun) # 点击确定 self.e.click(driver, 15, explain, *self.test20BL_quedingbaocun) # 点击关闭 self.e.click(driver, 15, explain, *self.WGuanBi) # 在检索条件中输入I/V NO self.e.send_keys(driver, 15, self.test20IVno, explain, *self.test24BL_IVNO) # 点击检索按钮 self.e.click(driver, 15, explain, *self.test21BL_jiansuo) # 数据选择 self.e.click(driver, 15, explain, *self.test21BL_xuanze) # 编集 self.e.click(driver, 15, explain, *self.test21BL_bianji) # 按钮 self.e.click(driver, 15, explain, *self.test22BL_jianzhianniu) # 选择通货 self.e.click(driver, 15, explain, *self.test22BL_jianzhixuanze) # 保存 self.e.click(driver, 15, explain, *self.test21BL_baocun) sleep(2) # 保存提示 # prompt = self.e.getText(driver, 15, explain, *self.test21BL_tishineirong) prompt = "OK" return prompt def test23(self, driver): explain = "INV P/L登录无償新規 test23选择新增的I/V NO订单记录编集不保存 " explain = "INV P/L登录有偿新规 test24填写基础情报信息I/V NO、I/V作成日、ETD保存且检索成功 " # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 无償新規 self.e.click(driver, 15, explain, *self.WuChangXinGui) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.test19BL_shangpinzhuijia) sleep(2) # 检索 self.e.click(driver, 15, explain, *self.POSearch_element) sleep(4) # 点击任意一条数据 # driver.find_element(*self.test15BL_shuju).send_keys(Keys.SPACE) # self.e.click(driver, 15, explain, *self.test15BL_shuju) Wait(driver, 10, 1).elementwait(lambda the_driver: the_driver.find_element( *self.test20BL_suijixuanzeshangpin)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test20BL_suijixuanzeshangpin).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test19BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB单价 self.e.send_keys(driver, 15, self.test20danjia, explain, *self.test19BL_danjia) # 填写商品数量 self.e.send_keys(driver, 15, self.test20shuliang, explain, *self.test19BL_shuliang) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.test20BL_shujuxuanze) # 点击P/L登録 self.e.click(driver, 15, explain, *self.WplDengLu) # 填写识别番号 self.e.send_keys(driver, 15, self.test20shibiefanhao, explain, *self.test20BL_shibiefanhao) # 填写集装箱开始号 self.e.send_keys(driver, 15, self.test20csn, explain, *self.test20BL_csn) # 填写集装箱结束号 self.e.send_keys(driver, 15, self.test20cen, explain, *self.test20BL_cen) # 填写净重 self.e.send_keys(driver, 15, self.test20nw, explain, *self.test20BL_nw) # 填写毛重 self.e.send_keys(driver, 15, self.test20gw, explain, *self.test20BL_gw) # 填写体积 self.e.send_keys(driver, 15, self.test20m, explain, *self.test20BL_mt) driver.execute_script("var q=document.documentElement.scrollTop=0") # 选择海外取引先 self.e.click(driver, 15, explain, *self.test20BL_haiwaiquyinxian) sleep(1) # 点击第一条 self.e.click(driver, 15, explain, *self.test20BL_quyinxiandianji) # 填写I/V No self.e.send_keys(driver, 15, self.test20IVno, explain, *self.test20BL_ivno) # 选择I/V作成日 self.e.click(driver, 15, explain, *self.test20BL_ivdianji) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_ivday) # 选择積出港 self.e.click(driver, 15, explain, *self.DeliveryPort_element) sleep(1) # 点击第一个 self.e.click(driver, 15, explain, *self.Select1st_element) # 选择輸送形態中 Sea海运 self.e.click(driver, 15, explain, *self.TransForm_element) sleep(1) self.e.click(driver, 15, explain, *self.TransSea_element) # 选择建値中 FCA货交承运人 self.e.send_keys(driver, 15, "FOB", explain, *self.test20BL_jianzhi) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_jianzhidianji) # 选择陸揚港 self.e.click(driver, 15, explain, *self.UnloadPort_element) sleep(1) # 点击第二个 self.e.click(driver, 15, explain, *self.Select2nd_element) # 选择通貨 self.e.send_keys(driver, 15, self.test20tonghuo, explain, *self.test20BL_tonghuo) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_tonghuodianji) # 选择ETD预计到港日期 self.e.click(driver, 15, explain, *self.test20BL_etd) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_etdday) # 点击保存 self.e.click(driver, 15, explain, *self.WBaoCun) # 点击确定 self.e.click(driver, 15, explain, *self.test20BL_quedingbaocun) # 点击关闭 self.e.click(driver, 15, explain, *self.WGuanBi) # 在检索条件中输入I/V NO self.e.send_keys(driver, 15, self.test20IVno, explain, *self.test24BL_IVNO) # 点击检索按钮 self.e.click(driver, 15, explain, *self.test21BL_jiansuo) # 数据选择 self.e.click(driver, 15, explain, *self.test21BL_xuanze) # 编集 self.e.click(driver, 15, explain, *self.test21BL_bianji) # 按钮 self.e.click(driver, 15, explain, *self.test22BL_jianzhianniu) # 选择建值 self.e.click(driver, 15, explain, *self.test22BL_jianzhixuanze) # 关闭 self.e.click(driver, 15, explain, *self.test23BL_guanbi) success_text = "OK" return success_text def test24(self, driver): explain = "INV P/L登录有偿新规 test24填写基础情报信息I/V NO、I/V作成日、ETD保存且检索成功 " # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 有償新規 self.e.click(driver, 15, explain, *self.YouChangXinGui) # P/O で検出 self.e.click(driver, 15, explain, *self.YPOJianChu) sleep(4) # 检索 self.e.click(driver, 15, explain, *self.test24BL_jiansuo) sleep(2) # 点击任意一条数据 # self.e.click(driver, 15, explain, *self.test24BL_jiansuo) # driver.find_element(*self.test24BL_jiansuo).send_keys(Keys.SPACE) Wait(driver, 10, 1).elementwait(lambda the_driver: the_driver.find_element( *self.test24BL_suijixuanze)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test24BL_suijixuanze).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test19BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写商品数量 self.e.send_keys(driver, 15, self.test24shuliang, explain, *self.test24BL_shurushuliang) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.test24BL_shujuxuanze) # 点击P/L登録 self.e.click(driver, 15, explain, *self.YPLDengLu) # 填写识别番号 self.e.send_keys(driver, 15, self.test24shibiefanhao, explain, *self.test24BL_shibiefanhao) # 填写集装箱开始号 self.e.send_keys(driver, 15, self.test24CartonStartNo, explain, *self.test24BL_CartonStartNo) # 填写集装箱结束号 self.e.send_keys(driver, 15, self.test24CartonEndNo, explain, *self.test24BL_CartonEndNo) # 填写净重 self.e.send_keys(driver, 15, self.test24nw, explain, *self.test24BL_nw) # 填写毛重 self.e.send_keys(driver, 15, self.test24gw, explain, *self.test24BL_gw) # 填写体积 self.e.send_keys(driver, 15, self.test24m3, explain, *self.test24BL_m3) driver.execute_script("var q=document.documentElement.scrollTop=0") # 填写I/V No self.e.send_keys(driver, 15, self.test24IVno, explain, *self.test24BL_IVNO) # 选择I/V作成日 self.e.click(driver, 15, explain, *self.test24BL_ivzuochengri) sleep(1) self.e.click(driver, 15, explain, *self.test24BL_ivday) # 选择積出港(判断是否自动带出) dp = Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.DeliveryPort_element).get_attribute("value")) if dp == None: # 点击第一个 self.e.click(driver, 15, explain, *self.DeliveryPort_element) sleep(1) self.e.click(driver, 15, explain, *self.Select1st_element) # 选择輸送形態中 Sea海运 self.e.click(driver, 15, explain, *self.TransForm_element) sleep(1) self.e.click(driver, 15, explain, *self.TransSea_element) # 选择建値中 FCA货交承运人 mk = Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.Market_element).get_attribute("value")) if mk == None: self.e.click(driver, 15, explain, *self.Market_element) sleep(1) self.e.click(driver, 15, explain, *self.FCA_element) # 选择陸揚港 up = Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.UnloadPort_element).get_attribute("value")) if up == None: # 点击第二个 self.e.click(driver, 15, explain, *self.UnloadPort_element) sleep(1) self.e.click(driver, 15, explain, *self.Select2nd_element) # 选择通貨 cu = Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.Currency_element).get_attribute("value")) if cu == None: self.e.clear(driver, 15, explain, *self.Currency_element) self.e.send_keys(driver, 15, "USD", explain, *self.Currency_element) sleep(1) self.e.click(driver, 15, explain, *self.SendCur_element) # 选择ETD预计到港日期 self.e.click(driver, 15, explain, *self.test24BL_etd) sleep(1) self.e.click(driver, 15, explain, *self.test24BL_etdday) # 点击保存 self.e.click(driver, 15, explain, *self.test24BL_baocun) try: # 判断是否有積出港・陸揚港确定 dpup = self.e.getText(driver, 15, explain, *self.dpupinf) if dpup == "P/Oの積出港・陸揚港とINVの積出港・陸揚港が不一致ですが、次に進めますか?": self.e.click(driver, 20, explain, *self.dpupConf) except Exception as e: pass # 点击确定 self.e.click(driver, 15, explain, *self.test24BL_queren) # 点击关闭 self.e.click(driver, 15, explain, *self.test24BL_guanbi) # 在检索条件中输入I/V NO self.e.send_keys(driver, 15, self.test24IVno, explain, *self.test24BL_jiansuotiaojianIVNO) # 点击检索按钮 self.e.click(driver, 15, explain, *self.test24BL_JIANSUO) sleep(2) # 获取检索结果的I/V NO SearchIV = self.e.getText(driver, 15, explain, *self.test24BL_chaxunIVno) # return SearchIV, self.test24IVno return 'OK' def test25(self, driver): explain = "INV P/L登录无偿新规 test25建值不选择保存 " # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 无償新規 self.e.click(driver, 15, explain, *self.WuChangXinGui) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.test19BL_shangpinzhuijia) sleep(2) # 检索 self.e.click(driver, 15, explain, *self.POSearch_element) sleep(4) # 点击任意一条数据 # driver.find_element(*self.test15BL_shuju).send_keys(Keys.SPACE) # self.e.click(driver, 15, explain, *self.test15BL_shuju) Wait(driver, 10, 1).elementwait(lambda the_driver: the_driver.find_element( *self.test20BL_suijixuanzeshangpin)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test20BL_suijixuanzeshangpin).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test19BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB单价 self.e.send_keys(driver, 15, self.test20danjia, explain, *self.test19BL_danjia) # 填写商品数量 self.e.send_keys(driver, 15, self.test20shuliang, explain, *self.test19BL_shuliang) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.test20BL_shujuxuanze) # 点击P/L登録 self.e.click(driver, 15, explain, *self.WplDengLu) # 填写识别番号 self.e.send_keys(driver, 15, self.test20shibiefanhao, explain, *self.test20BL_shibiefanhao) # 填写集装箱开始号 self.e.send_keys(driver, 15, self.test20csn, explain, *self.test20BL_csn) # 填写集装箱结束号 self.e.send_keys(driver, 15, self.test20cen, explain, *self.test20BL_cen) # 填写净重 self.e.send_keys(driver, 15, self.test20nw, explain, *self.test20BL_nw) # 填写毛重 self.e.send_keys(driver, 15, self.test20gw, explain, *self.test20BL_gw) # 填写体积 self.e.send_keys(driver, 15, self.test20m, explain, *self.test20BL_mt) driver.execute_script("var q=document.documentElement.scrollTop=0") # 选择海外取引先 self.e.click(driver, 15, explain, *self.test20BL_haiwaiquyinxian) sleep(1) # 点击第一条 self.e.click(driver, 15, explain, *self.test20BL_quyinxiandianji) # 填写I/V No self.e.send_keys(driver, 15, self.test20IVno, explain, *self.test20BL_ivno) # 选择I/V作成日 self.e.click(driver, 15, explain, *self.test20BL_ivdianji) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_ivday) # 选择積出港 self.e.click(driver, 15, explain, *self.DeliveryPort_element) sleep(1) # 点击第一个 self.e.click(driver, 15, explain, *self.Select1st_element) # 选择輸送形態中 Sea海运 self.e.click(driver, 15, explain, *self.TransForm_element) sleep(1) self.e.click(driver, 15, explain, *self.TransSea_element) # 选择建値中 FCA货交承运人 self.e.send_keys(driver, 15, "FOB", explain, *self.test20BL_jianzhi) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_jianzhidianji) # 选择陸揚港 self.e.click(driver, 15, explain, *self.UnloadPort_element) sleep(1) # 点击第二个 self.e.click(driver, 15, explain, *self.Select2nd_element) # 选择通貨 self.e.send_keys(driver, 15, self.test20tonghuo, explain, *self.test20BL_tonghuo) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_tonghuodianji) # 选择ETD预计到港日期 self.e.click(driver, 15, explain, *self.test20BL_etd) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_etdday) # 删除建值 self.e.click(driver, 15, explain, *self.MarketClear_element) # 判断 保存 按钮是否启用(启用返回TRUE,未启用FALSE) res = self.e.is_enabled(driver, 15, explain, *self.WBaoCun) if res == False: return "OK" def test26(self, driver): explain = "INV P/L登录无偿新规 test26通货不选择保存 " # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 无償新規 self.e.click(driver, 15, explain, *self.WuChangXinGui) # 点击 無償商品登録行追加 self.e.click(driver, 15, explain, *self.test19BL_shangpinzhuijia) sleep(2) # 检索 self.e.click(driver, 15, explain, *self.POSearch_element) sleep(4) # 点击任意一条数据 # driver.find_element(*self.test15BL_shuju).send_keys(Keys.SPACE) # self.e.click(driver, 15, explain, *self.test15BL_shuju) Wait(driver, 10, 1).elementwait(lambda the_driver: the_driver.find_element( *self.test20BL_suijixuanzeshangpin)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test20BL_suijixuanzeshangpin).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test19BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写FOB单价 self.e.send_keys(driver, 15, self.test20danjia, explain, *self.test19BL_danjia) # 填写商品数量 self.e.send_keys(driver, 15, self.test20shuliang, explain, *self.test19BL_shuliang) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.test20BL_shujuxuanze) # 点击P/L登録 self.e.click(driver, 15, explain, *self.WplDengLu) # 填写识别番号 self.e.send_keys(driver, 15, self.test20shibiefanhao, explain, *self.test20BL_shibiefanhao) # 填写集装箱开始号 self.e.send_keys(driver, 15, self.test20csn, explain, *self.test20BL_csn) # 填写集装箱结束号 self.e.send_keys(driver, 15, self.test20cen, explain, *self.test20BL_cen) # 填写净重 self.e.send_keys(driver, 15, self.test20nw, explain, *self.test20BL_nw) # 填写毛重 self.e.send_keys(driver, 15, self.test20gw, explain, *self.test20BL_gw) # 填写体积 self.e.send_keys(driver, 15, self.test20m, explain, *self.test20BL_mt) driver.execute_script("var q=document.documentElement.scrollTop=0") # 选择海外取引先 self.e.click(driver, 15, explain, *self.test20BL_haiwaiquyinxian) sleep(1) # 点击第一条 self.e.click(driver, 15, explain, *self.test20BL_quyinxiandianji) # 填写I/V No self.e.send_keys(driver, 15, self.test20IVno, explain, *self.test20BL_ivno) # 选择I/V作成日 self.e.click(driver, 15, explain, *self.test20BL_ivdianji) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_ivday) # 选择積出港 self.e.click(driver, 15, explain, *self.DeliveryPort_element) sleep(1) # 点击第一个 self.e.click(driver, 15, explain, *self.Select1st_element) # 选择輸送形態中 Sea海运 self.e.click(driver, 15, explain, *self.TransForm_element) sleep(1) self.e.click(driver, 15, explain, *self.TransSea_element) # 选择建値中 FCA货交承运人 self.e.send_keys(driver, 15, "FOB", explain, *self.test20BL_jianzhi) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_jianzhidianji) # 选择陸揚港 self.e.click(driver, 15, explain, *self.UnloadPort_element) sleep(1) # 点击第二个 self.e.click(driver, 15, explain, *self.Select2nd_element) # 选择通貨 self.e.send_keys(driver, 15, self.test20tonghuo, explain, *self.test20BL_tonghuo) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_tonghuodianji) # 选择ETD预计到港日期 self.e.click(driver, 15, explain, *self.test20BL_etd) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_etdday) # 删除通货 self.e.click(driver, 15, explain, *self.TonghuoClear_element) # 判断 保存 按钮是否启用(启用返回TRUE,未启用FALSE) res = self.e.is_enabled(driver, 15, explain, *self.WBaoCun) if res == False: return "OK" def test27(self, driver): explain = "INV P/L登录有偿新规 test27输送形态不选择保存 " # 点击 INV P/L登録 self.e.click(driver, 15, explain, *self.INVpldenglu) # 点击 有償新規 self.e.click(driver, 15, explain, *self.YouChangXinGui) # P/O で検出 self.e.click(driver, 15, explain, *self.YPOJianChu) sleep(4) # 检索 self.e.click(driver, 15, explain, *self.test24BL_jiansuo) # 点击任意一条数据 # self.e.click(driver, 15, explain, *self.test24BL_jiansuo) # driver.find_element(*self.test24BL_jiansuo).send_keys(Keys.SPACE) Wait(driver, 10, 1).elementwait(lambda the_driver: the_driver.find_element( *self.test24BL_suijixuanze)) Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.test24BL_suijixuanze).click()) # 点击使用 self.e.click(driver, 15, explain, *self.test19BL_shiyong) # 将滚动条移动到页面的底部 js = "var q=document.documentElement.scrollTop=1000" driver.execute_script(js) # 填写商品数量 self.e.send_keys(driver, 15, self.test20shuliang, explain, *self.test19BL_shuliang) """勾选所有INVOICE 详细添加到Package List详细""" # 勾选所有INVOICE 详细 self.e.click(driver, 15, explain, *self.test20BL_shujuxuanze) # 点击P/L登録 self.e.click(driver, 15, explain, *self.WplDengLu) # 填写识别番号 self.e.send_keys(driver, 15, self.test20shibiefanhao, explain, *self.test20BL_shibiefanhao) # 填写集装箱开始号 self.e.send_keys(driver, 15, self.test20csn, explain, *self.test20BL_csn) # 填写集装箱结束号 self.e.send_keys(driver, 15, self.test20cen, explain, *self.test20BL_cen) # 填写净重 self.e.send_keys(driver, 15, self.test20nw, explain, *self.test20BL_nw) # 填写毛重 self.e.send_keys(driver, 15, self.test20gw, explain, *self.test20BL_gw) # 填写体积 self.e.send_keys(driver, 15, self.test20m, explain, *self.test20BL_mt) driver.execute_script("var q=document.documentElement.scrollTop=0") # 填写I/V No self.e.send_keys(driver, 15, self.test20IVno, explain, *self.test20BL_ivno) # 选择I/V作成日 self.e.click(driver, 15, explain, *self.test20BL_ivdianji) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_ivday) # 选择積出港(判断是否自动带出) dp = Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.DeliveryPort_element).get_attribute("value")) if dp == None: # 点击第一个 self.e.click(driver, 15, explain, *self.DeliveryPort_element) sleep(1) self.e.click(driver, 15, explain, *self.Select1st_element) # 选择輸送形態中 Sea海运 self.e.click(driver, 15, explain, *self.TransForm_element) sleep(1) self.e.click(driver, 15, explain, *self.TransSea_element) # 选择建値中 FCA货交承运人 mk = Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.Market_element).get_attribute("value")) if mk == None: self.e.click(driver, 15, explain, *self.Market_element) sleep(1) self.e.click(driver, 15, explain, *self.FCA_element) # 选择陸揚港 up = Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.UnloadPort_element).get_attribute("value")) if up == None: # 点击第二个 self.e.click(driver, 15, explain, *self.UnloadPort_element) sleep(1) self.e.click(driver, 15, explain, *self.Select2nd_element) # 选择通貨 cu = Wait(driver, 10).until(lambda the_driver: the_driver.find_element( *self.Currency_element).get_attribute("value")) if cu == None: self.e.clear(driver, 15, explain, *self.Currency_element) self.e.send_keys(driver, 15, "USD", explain, *self.Currency_element) sleep(1) self.e.click(driver, 15, explain, *self.SendCur_element) # 选择ETD预计到港日期 self.e.click(driver, 15, explain, *self.test20BL_etd) sleep(1) self.e.click(driver, 15, explain, *self.test20BL_etdday) # 删除运输形态 self.e.click(driver, 15, explain, *self.YunshuxingtaiClear_element) # 判断 保存 按钮是否启用(启用返回TRUE,未启用FALSE) res = self.e.is_enabled(driver, 15, explain, *self.WBaoCun) if res == False: return "OK"