移动端测试比较常遇到toast类型的提示信息,那么对于这类信息我们要怎么获取呢,让我细细道来:
首先,获取toast信息要注意以下几点:
- 必须是Uiautomator2框架,设备配置参数中设置
"automationName": "UiAutomator2"
- 需使用xpath定位表达式查找元素
- 只能使用等待元素存在
****************下面就是方法啦*********************
第一种方法:根据文本信息内容通过xpath查找后进行对比
from selenium.webdriver.support import expected_conditions as EC
toast_msg = "密码错误,请重新输入" loc = (MobileBy.XPATH, '//*[contains(@text(),"{}")]'.format(toast_msg)) toast_ele = WebDriverWait(self.driver,5,0.01).until(EC.presence_of_element_located(loc)) # 断言 assert toast_ele.text == "密码错误,请重新输入"
第二种方法:直接获取toast文本信息后再进行对比
from selenium.webdriver.support import expected_conditions as EC loc = (MobileBy.XPATH, "//*[@class='android.widget.Toast']") toast_ele = WebDriverWait(self.driver,5,0.01).until(EC.presence_of_element_located(loc)) # 断言 assert toast_ele.text == "密码错误,请重新输入"
亲测,第二种方法比第一种更灵活,可以根据自己的使用场景自行选择使用哪种方法。小窍门:封装更方便。
做一棵小草,谁也撼动不了………