Ejemplo n.º 1
0
 def dateInput(self, css, column_name, value):
     self.infoPrint("输入[{0}],值:{1}".format(column_name, value))
     try:
         self.click(css)
     except Exception:
         raise OwnError.DateError(column_name, css=css)
     # sleep(1)
     if "-" in value:
         try:
             self.click("xpath->//td[@date='{}']".format(value))
         except Exception:
             raise OwnError.DateError(column_name, value)
     else:
         raise OwnError.DateError(column_name)
Ejemplo n.º 2
0
 def login_Mob(self, user_name):
     self.infoPrint("用户【{0}】登陆系统".format(user_name))
     try:
         username = self.allUserDict[user_name]["username"]
         password = self.allUserDict[user_name]["password"]
     except Exception:
         raise OwnError.UserError(user_name)
     self.loginSystem_Mob(username, password)
Ejemplo n.º 3
0
 def get_popup(self):
     # 因为点击操作容易出现意外弹框,所以添加获取弹框的操作
     try:
         text = self.dr.get_element(mobileConfig.pop_up_text).text
     except:
         pass
     else:
         if "成功" in text or "单据编号" in text:
             return
         raise OwnError.AlertError(text)
Ejemplo n.º 4
0
 def selectSearchValue(self, column_name, value):
     self.click(mobileConfig.search_input_xpath)
     self.clearType(mobileConfig.search_input_xpath2, value)
     # sleep(2)
     self.click(mobileConfig.search_submit_xpath3)
     try:
         xpath = "xpath->//div[@class='scroll']/ul/li[@class='children-li'][2]"
         self.click(xpath)
     except Exception:
         raise OwnError.SelectError(column_name, value=value)
Ejemplo n.º 5
0
 def otherInput(self, css, column_name, value):
     # 不支持多选
     self.infoPrint("输入[{0}],值:{1}".format(column_name, value))
     try:
         self.click(css)
     except Exception:
         raise OwnError.SelectError(column_name, css=css)
     # sleep(2)
     if column_name == "发票号码":
         xpath = "xpath->//label[text()='{}']/../../../preceding-sibling::div[1]/input".format(
             value)
         sure_xpath = mobileConfig.select_sure3
     elif column_name == "合同编号":
         xpath = "xpath->//label[text()='{}']/../../preceding-sibling::label[1]/input".format(
             value)
         sure_xpath = mobileConfig.select_sure2
     else:
         xpath = "xpath->//label[text()='{}']/../../preceding-sibling::input[1]".format(
             value)
         sure_xpath = mobileConfig.select_sure
     try:
         select = Select(self.getElement("xpath->//select[@id='selectId']"))
     except:
         select = None
     if select and select.options:
         i = 0
         while i < len(select.options):
             select.select_by_index(i)
             try:
                 self.click(xpath)
                 # sleep(2)
                 self.click(sure_xpath)
                 return
             except:
                 i += 1
         raise OwnError.OtherError(column_name, value)
     else:
         try:
             self.click(xpath)
             # sleep(2)
             self.click(sure_xpath)
         except Exception:
             raise OwnError.OtherError(column_name, value)
Ejemplo n.º 6
0
 def loginSystem_Mob(self, userName, password):  # 登录系统
     self.infoPrint("使用用户[{0}]登陆系统:{0}".format(userName))
     self.inputUserName_Mob(userName)
     self.inputPassword_Mob(password)
     sleep(0.5)
     self.clickLoginButton_Mob()
     try:
         erro_ele = self.getElement(mobileConfig.ErrorId)
     except:
         self.infoPrint("使用用户[{0}]登陆成功".format(userName))
     else:
         raise OwnError.ButtonError(userName, erro_ele.text)
Ejemplo n.º 7
0
 def setAccountBook(self, account_book_name, token=None):
     # 校验单据组,创建单据组文件夹
     self.getTotalAccountBook()
     self.account_book = self.judgeExist(account_book_name)
     if self.account_book:
         if token is None:
             self.file_path = self.createFile(account_book_name)
             self.setBill()
         else:
             self.addBillData()
     else:
         raise OwnError.BillsNameError(account_book_name)
Ejemplo n.º 8
0
 def add_approver(self, column_name="添加审批人", value="测试三号"):
     self.click("xpath->//a[text()='加审']")
     # sleep(1)
     self.click("xpath->//div[@ng-show='!isSignS']/div/a[1]")
     self.click(mobileConfig.search_input_xpath)
     self.clearType(mobileConfig.search_input_xpath2, value)
     # sleep(2)
     self.click(mobileConfig.search_submit_xpath3)
     try:
         xpath = "xpath->//div[@class='scroll']/ul/li[@class='children-li'][1]"
         self.click(xpath)
     except Exception:
         raise OwnError.SelectError(column_name, value=value)
     # sleep(0.5)
     self.click(mobileConfig.select_sure4)
Ejemplo n.º 9
0
 def load_page(self, second: int = 30):
     # 解决页面还在加载中,就去进行后续点击操作从而导致异常
     unm_time = 0
     sleep(1)
     try:
         self.dr.element_wait("xpath->//div[@class='loading']")
         lodaing = self.getElement("xpath->//div[@class='loading']")
     except:
         # 针对mobile tool 操作的是pc端页面,获取不到 loading元素
         return
     while True:
         if not lodaing.is_displayed():
             break
         elif unm_time >= second:
             raise OwnError.AlertError("页面加载时间超过{}秒".format(unm_time))
         else:
             unm_time += 0.5
             sleep(0.5)
     self.get_popup()
Ejemplo n.º 10
0
 def selectInput(self, css, column_name, value):
     self.infoPrint("输入[{0}],值:{1}".format(column_name, value))
     try:
         self.click(css)
     except Exception:
         raise OwnError.SelectError(column_name, css=css)
     # sleep(1)
     self.dr.element_wait(mobileConfig.search_input_xpath, 10)
     # sleep(1)
     if column_name == "受益人":
         if ";" in value:
             beneficiary_list = re.findall(r"(.*?);", value)
         else:
             beneficiary_list = [value]
         # sleep(1)
         for beneficiary in beneficiary_list:
             self.selectSearchValue(column_name, beneficiary)
             sleep(0.5)
         self.click(mobileConfig.select_sure4)
     else:
         self.selectSearchValue(column_name, value)