標籤:timeout ber style except until common pat png 寫法
使用情境:在操作應用時常見toast彈框,通過toast彈框資訊的擷取判斷當前的某個操作是否成功
引用的包:from selenium.webdriver.support import expected_conditions as EC,\expected_conditions
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
如下,尋找如下中的toast內容,判斷給出的值是否與實際toast的值是否相等,相等則正常執行,不相等直接走except異常內容,如下:
第一種封裝方法:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC,\
expected_conditions
def find_Toast2(self,message): #尋找toast值 ‘‘‘ method explain:尋找toast的值,與find_Toast實現方法一樣,只是不同的2種寫法 parameter explain:【text】尋找的toast值 Usage: device.find_Toast2(‘再按一次退出iBer‘) ‘‘‘ logging.info("尋找toast值---‘%s‘" %(message)) try: message = ‘//*[@text=\‘{}\‘]‘.format(message) WebDriverWait(self.driver,5,0.5).until(expected_conditions.presence_of_element_located((By.XPATH,message))) logging.info("尋找到toast----%s"%message) return True except: logging.info("未尋找到toast----%s"%message) return False
第二種封裝方法如下:
def find_Toast(self,message,timeout=5,poll_frequency = 0.5): #尋找toast值 ‘‘‘ method explain:尋找toast的值 parameter explain:【text】給定的toast值 Usage: device.find_Toast(‘再按一次退出iBer‘) ‘‘‘ logging.info("擷取toast值---‘%s‘" %message) try: toast_loc = ("xpath",".//*[contains(@text,‘%s‘)]" %message) WebDriverWait(self.driver,timeout,poll_frequency).until(EC.presence_of_element_located(toast_loc)) logging.info("尋找到toast--‘%s‘"%message) return True except: logging.info("未尋找到toast--‘%s‘"%message) return False
說明:
擷取toast的方法封裝點選連結:http://www.cnblogs.com/syw20170419/p/8280115.html
Python+Appium 尋找 toast 方法的封裝