def editTime(self, driver): #登录 login = Login() login.test_click_login_btn(driver) sleep(5) #点击首页DO确定 driver.find_element(*self.DOElement).click() sleep(5) #按状态检索 driver.find_element(*self.DOstatusElement).click() driver.find_element(*self.selDOstatusElement).click() #点击检索 driver.find_element(*self.selElement).click() sleep(1) #选择数据 driver.find_element(*self.selDateElement).click() #点击配送再确定 driver.find_element(*self.reconDoElement).click() sleep(5) #修改纳入时间 time = datetime.datetime.now().strftime('%Y%m%d%H%M%S') time = time[8:12] action = ActionChains(driver) ele = driver.find_element(*self.inclusionTimeElement) action.double_click(ele).perform() driver.find_element(*self.inclusionTimeElement).send_keys(time) #点击保存 driver.find_element(*self.saveElement).click() sleep(1) #确定 driver.find_element(*self.determineElement).click()
def editTime(self, driver): # 登录 login = Login() login.test_click_login_btn(driver) eu = ElementUtil() # 点击首页DO确定 eu.click(driver, 15, 'DO编辑', *self.DOElement) # 输入DONO eu.send_keys(driver, 15, self.getDONO(), 'DO编辑', *self.DONOElement) # 点击检索 eu.click(driver, 15, 'DO编辑', *self.selElement) # 选择数据 eu.click(driver, 15, 'DO编辑', *self.selDateElement) # 点击配送再确定 eu.click(driver, 15, 'DO编辑', *self.reconDoElement) # 修改纳入日期 eu.click(driver, 15, 'DO编辑', *self.inclusionDateElement) eu.click(driver, 15, 'DO编辑', *self.selInclusionDateElement) # 纳入时间 eu.send_keys(driver, 15, 1800, 'DO编辑', *self.inclusionTimeElement) # 搜索配送模式 eu.click(driver, 15, 'DO编辑', *self.seachElement) # 选择配送模式 eu.click(driver, 15, 'DO编辑', *self.disModelEelemet) eu.click(driver, 15, 'DO编辑', *self.selDisModelEelemet) # 保存配送模式 eu.click(driver, 15, 'DO编辑', *self.saveDisElement) # 点击保存 eu.click(driver, 15, 'DO编辑', *self.saveElement) # 确定 eu.click(driver, 15, 'DO编辑', *self.determineElement)
def addCost(self,driver): login = Login() login.test_click_login_btn(driver) #点击D/O确定 driver.find_element(*self.doElement).click() sleep(2) #点击检索 driver.find_element(*self.searchElement).click() sleep(2) #选择数据 driver.find_element(*self.seldataElement).send_keys(Keys.SPACE) sleep(2) #拖动滚动条到最顶部 10000为底部 scro="document.documentElement.scrollTop=0" driver.execute_script(scro) sleep(2) #点击费用追加 driver.find_element(*self.addCostElement).click() sleep(2) #选择通关料区分 driver.find_element(*self.selMaterials).click() sleep(2) #选择7兰以上 driver.find_element(*self.selMaterials7).click() #点击费用计算 driver.find_element(*self.calCostElement).click() sleep(2) #点击确定 driver.find_element(*self.OKElement).click() sleep(1) #点击保存 driver.find_element(*self.preserveElement).click()
def outWard(self, driver): login = Login() login.test_click_login_btn(driver) #点击 フレイトI/V作成 driver.find_element(*self.outWardElement).click() sleep(2) #清空提单号 driver.find_element(*self.BLNoEelement).click() driver.find_element(*self.BLNoEelement).clear() #输入提单号 driver.find_element(*self.BLNoEelement).send_keys('Practise 38') #点击检索 driver.find_element(*self.searchElement).click() sleep(2) #选择需要勾选的数据 driver.find_element(*self.selDataElement).send_keys(Keys.SPACE) #点击海上,航空运凭计算 driver.find_element(*self.transportationElement).click() sleep(5) #加载时间较长 时间短容易造成找不到元素 #双击金额文本框 action = ActionChains(driver) on_element = driver.find_element(*self.FEEElement) action.double_click(on_element).perform() sleep(2) #输入FEE金额 driver.find_element(*self.FEEElement).send_keys(1000) #拖动滚动条到最顶部 10000为底部 scro = "document.documentElement.scrollTop=0" driver.execute_script(scro) sleep(1) #点击保存 driver.find_element(*self.preserveElement).click() sleep(2)
def otherCharge(self,driver): eu = ElementUtil() #登录 login = Login() login.test_click_login_btn(driver) #点击做成 eu.click(driver,15,'doc费用增加',*self.outWardElement) #输入B/L NO eu.send_keys(driver, 15, self.BLNO,'doc费用增加',*self.BLNoEelement) #点击检索 eu.click(driver,15,'doc费用增加',*self.selElement) #选择要修改的数据 el = driver.find_element(*self.selDateElement) el.send_keys(Keys.SPACE) #点击编辑 eu.click(driver,15,'doc费用增加',*self.editElement) #双击金额文本框 action = ActionChains(driver) on_element = driver.find_element(*self.otherElement) action.double_click(on_element).perform() #输入DOCFEE金额为1000 driver.find_element(*self.otherElement).send_keys(1000) #拖动滚动条到最顶部 10000为底部 scro="document.documentElement.scrollTop=0" driver.execute_script(scro) #点击海上航空计算 eu.click(driver,15,'doc费用增加',*self.costCalElement) sleep(8) # 点击确定 eu.click(driver, 15, 'doc费用增加',*self.doElement) # 点击返回 eu.click(driver, 15, 'doc费用增加',*self.backElement)
def SplitSave(self,driver,doNum): login = Login() login.test_click_login_btn(driver) des="纳入指示_D/O分け_详细情报页中选择所有数据,点击split,点击保存" # 进入到纳入指示页面 ElementUtil.click(self, driver, 15, des, *self.companiesStartElement) sleep(2) # 选择纳入指示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) sleep(1) # 选择一条数据 ElementUtil.click(self, driver, 15, des, *self.tableFristData) # 点击D/O分 ElementUtil.click(self, driver, 15, des, *self.DOfenButton) # 选择详细列表数据 sleep(1) ElementUtil.click(self, driver, 15, des, *self.XQchackBoxData) # 点击split ElementUtil.click(self, driver, 15, des, *self.SplitButton) # 点击保存 ElementUtil.click(self,driver,15, des,*self.XQsave) sleep(2) a = ElementUtil.getElement(self,driver,15, des,*self.XQsaveCG) r=a.get('element').text return r
def editDateR(self, driver): #登录 login = Login() login.test_click_login_btn(driver) sleep(5) #点击首页DO确定 driver.find_element(*self.DOElement).click() sleep(5) #按状态检索 driver.find_element(*self.DOstatusElement).click() driver.find_element(*self.selDOstatusElement).click() #点击检索 driver.find_element(*self.selElement).click() sleep(1) #选择数据 driver.find_element(*self.selDateElement).click() #点击配送再确定 driver.find_element(*self.reconDoElement).click() sleep(5) #修改纳入日期 driver.find_element(*self.inclusionDateElement).click() # d = driver.find_element(*self.inclusionDateElement) # driver.execute_script('arguments[0].removeAttribute("readonly")', d) # driver.find_element(*self.inclusionDateElement).send_keys('1234') sleep(1) driver.find_element(*self.selInclusionDateElement).click() #点击保存 driver.find_element(*self.returnElement).click()
def setUp(self): # 无头 # options = Options() # options.add_argument('--headless') # options.add_argument('--no-sandbox') # options.add_argument('--disable-gpu') # options.add_argument('--disable-dev-shm-usage') # options.add_argument("--start-maximized") # self.driver = webdriver.Chrome(chrome_options=options) # Windows self.driver = webdriver.Chrome() self.driver.implicitly_wait(15) self.driver.set_page_load_timeout(15) self.driver.set_script_timeout(15) self.driver.maximize_window() self.url = "https://sharpsit.jusdaglobal.com" # self.url = "https://sharpuat.jusdaglobal.com" self.driver.get(self.url) self.logs = log.log_message() self.login = Login() self.free = FreeNewOrders() self.freeEle = FreeNew() # 登录 self.login.test_click_login_btn(self.driver) sleep(5)
def editDate(self, driver): #登录 login = Login() login.test_click_login_btn(driver) sleep(5) #点击首页DO确定 driver.find_element(*self.DOElement).click() sleep(5) #按状态检索 driver.find_element(*self.DOstatusElement).click() driver.find_element(*self.selDOstatusElement).click() #点击检索 driver.find_element(*self.selElement).click() sleep(1) #选择数据 driver.find_element(*self.selDateElement).click() #点击配送再确定 driver.find_element(*self.reconDoElement).click() sleep(5) #修改纳入日期 driver.find_element(*self.inclusionDateElement).click() sleep(1) driver.find_element(*self.selInclusionDateElement).click() #点击保存 driver.find_element(*self.saveElement).click() sleep(1) #确定 driver.find_element(*self.determineElement).click()
def testSendMail09(self): driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(driver) send = SendOperate() self._testMethodDoc = "对已送信的可以批量解除送信" send.sendMail9(driver, "cxp")
def nullQuery(self, driver): login = Login() login.test_click_login_btn(driver) eu = ElementUtil() #点击 フレイトI/V作成 eu.click(driver, 15, '无条件检索', *self.outWardElement) #点击检索 eu.click(driver, 15, '无条件检索', *self.searchElement) sleep(1)
def test_sendMessage(self): u'''[txq]-将编辑成功的数据送信''' driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(self.driver) sleep(5) text = self.sendMessage(driver) self.assertIn(text,'SA送信成功しました。')
def test_newBuiltLoadPort(self): u'''[txq]-78參照新規作成,添加2条積出港不同的数据''' driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(self.driver) sleep(5) text = self.newBuiltLoadPort(driver) # 弹框提示内容 self.assertEqual(text, 'S/Aの積出港・陸揚港とINVの積出港・陸揚港が不一致のため、再度確認してください')
def test_newBuiltUnfilled(self): u'''[txq]-86新建数据时必填项有一个未填,送信''' driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(self.driver) sleep(5) text = self.newBuiltUnfilled(driver) # 弹框提示内容 self.assertEqual(text, 'House B/L NO必要である')
def test_newBuiltCancel(self): u'''[txq]-87新建数据时返回''' driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(self.driver) sleep(5) text = self.newBuiltCancel(driver) # 弹框提示内容 self.assertEqual(text, 'No data available')
def testSendMail18(self): driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(driver) send = SendOperate() self._testMethodDoc = "通过错误的B/L NO检索没有结果" nodata = send.sendMail18(driver, 'QAZ5556') self.assertEqual(nodata, "No data available")
def testSendMail15(self): driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(driver) send = SendOperate() self._testMethodDoc = "通过纳入指示者、B/L NO组合检索成功" actual_num = send.sendMail15(driver, "cxp") self.assertIn("cxp", actual_num)
def test_newBuiltModify(self): u'''[txq]-85新建Shipping Advice数据,修改Carton Start No和Carton end No,且start>end''' driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(self.driver) sleep(5) flag = self.newBuiltModify(driver) self.assertFalse(flag)
def test_newBuiltAgoneAdd(self): u'''[txq]-91延用以前的数据信息创建新数据时返回''' driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(self.driver) sleep(5) flag = self.newBuiltAgoneAdd(driver) self.assertTrue(flag)
def test_newBuiltReferToPort(self): u'''[txq]-89延用以前的数据信息追加陸揚港不同的数据''' driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(self.driver) sleep(5) text = self.newBuiltReferToPort(driver) # 弹框提示内容 self.assertEqual(text, 'S/Aの積出港・陸揚港とINVの積出港・陸揚港が不一致のため、再度確認してください')
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 test_newBuiltStartGreaterEnd(self): u'''[txq]-81參照新規作成,新建INV数据,修改Carton Start No和Carton end No,且start>end''' driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(self.driver) sleep(5) flag = self.newBuiltStartGreaterEnd(driver) self.assertFalse(flag)
def test_newBuiltLetters(self): u'''[txq]-82參照新規作成,只填写必填项,送信时取消''' driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(self.driver) sleep(5) text = self.newBuiltLetters(driver) self.assertIn(text, '重複B/L No.が存在します。poNo:')
def doNoFalseQuery(self, driver): eu = ElementUtil() login = Login() login.test_click_login_btn(driver) #点击首页DO确定 eu.click(driver, 15, '不存在的doNO检索', *self.DOElement) #输入DO no eu.send_keys(driver, 15, 'xyz', '不存在的doNO检索', *self.DONOElement) #点击检索 eu.click(driver, 15, '不存在的doNO检索', *self.searchElement)
def containerNoFalseQuery(self, driver): eu = ElementUtil() login = Login() login.test_click_login_btn(driver) #点击首页DO确定 eu.click(driver, 15, '集装箱NO模糊检索', *self.DOElement) #输入集装箱NO eu.send_keys(driver, 15, 'xyz', '集装箱NO模糊检索', *self.DONOElement) #点击检索 eu.click(driver, 15, '集装箱NO模糊检索', *self.searchElement)
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 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 test_edit01(self): driver = self.driver driver.get(self.url) self._testMethodDoc = u"[陈博华]编集状态为SA一時保存的海关数据,一時保存" login = Login() login.test_click_login_btn(driver) sleep(5) edit = Edit() text = edit.edit01(driver) self.assertEqual(text,1)
def test_edit04(self): self._testMethodDoc = u"[陈博华]验证编集时,空运,House B/L NO是否为必填项" driver = self.driver driver.get(self.url) login = Login() login.test_click_login_btn(driver) sleep(5) edit = Edit() actual_text = edit.edit04(driver) self.assertEqual("House B/L NO必要である",actual_text)
def test_edit02(self): driver = self.driver driver.get(self.url) self._testMethodDoc = u"[陈博华]编集状态为SA一時保存的海关数据,修改Carton No,验证Shipped Carton数量是否正确" login = Login() login.test_click_login_btn(driver) sleep(5) edit = Edit() flag = edit.edit02(driver) self.assertTrue(flag)