首页 > 技术文章 > Toast获取

luozhongming 2020-09-23 09:34 原文

移动端测试中经常会遇到toast信息的情况,获取的对比方法如下

方法1:根据文本内容进行xpath查找和对比

 toast_message = "密码不能为空"

message ='//*[@text=\'{}\']'.format(toast_message)
# 获取toast提示框内容
toast_element = WebDriverWait(driver,5).until(lambda x:x.find_element_by_xpath(message))
print(toast_element.text)
assert toast_element.text == "密码不能为空"

方法2:直接获取toast的文本信息,然后进行比对
toast_element = WebDriverWait(self.driver, 5).until(lambda x: x.find_element_by_xpath("//*[@class='android.widget.Toast']"))
print(toast_element.text)
assert toast_element.text == "密码不能为空1"

总结:
方法1根据文本内容进行xpath查找,不是很灵活,第二种是直接获取toast信息要灵活很多,可以根据自己的使用场景进行配置使用,这两种都可以封装成函数直接调用


from appium import webdriver
import unittest
import time
from selenium.webdriver.support.ui import WebDriverWait
#Toast函数
def toast_exist(self):
toast_element = WebDriverWait(self.driver, 5).until(lambda x: x.find_element_by_xpath("//*[@class='android.widget.Toast']"))
return toast_element


调用:
assert self.toast_exist().text == "密码不能为空"




推荐阅读