app自动化测试——特殊控件Toast
创始人
2025-05-31 11:11:21
0

在这里插入图片描述


文章目录

  • 一、Toast弹窗是什么
  • 二、Toast 定位
    • 方式一:
    • 方式二
  • 三、案例
    • 1、特别注意

一、Toast弹窗是什么

一种消息框类型
无法被点击
Toast显示的时间有限,Toast会根据用户设置的显示时间后自动消失
是系统级别的控件,属于系统settings
Toast类的思想:
就是尽可能不引人注意,同时还向用户显示信息,希望他们看到

二、Toast 定位

appium使用uiautomator底层的机制来分析抓取toast,并且把toast放到控件树里面,但本身并不属于控件。
automationName: uiautomator2
getPageSource是无法找到的
必须使用xpath查找

方式一:

self.driver.find_element(AppiumBy.XPATH,"//*[contains(@text,'popup menu')]")

方式二

self.driver.find_element(AppiumBy.XPATH,"//android.widget.Toast[@class='android.widget.Toast']")

三、案例

toast弹窗如下
在这里插入图片描述

使用uiautomatorviewer进行定位

在这里插入图片描述
自动打开UI Automator Viewer界面

在这里插入图片描述

caps["automationName"]='uiautomator2' #todo 安卓工作引擎

import time
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy
class TestXueqiu:def setup(self):caps = {}caps["platformName"] = "Android"caps["deviceName"] = "127.0.0.1:7555 device"caps["appPackage"] = "io.appium.android.apis"caps["appActivity"] = "io.appium.android.apis.view.PopupMenu1"caps["noReset"] = "true"caps["ensureWebviewsHavePages"] = Truecaps["automationName"]='uiautomator2'   #todo 安卓工作引擎self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)self.driver.implicitly_wait(8)def teardown(self):self.driver.quit()def test_toast(self):self.driver.find_element(AppiumBy.ACCESSIBILITY_ID,"Make a Popup!").click()self.driver.find_element(AppiumBy.ID,"android:id/title").click()print(self.driver.page_source)#todo xpath#text=self.driver.find_element(AppiumBy.XPATH,"//android.widget.Toast[@class='android.widget.Toast']").text#print(text)#todo texttext=self.driver.find_element(AppiumBy.XPATH,"//*[contains(@text,'popup menu')]").textprint(text)

1、特别注意

如果不想让脚本从头开始执行脚本,忽略之前的点击操作,直接进入目标页面,
可以获取当前页面的appActivity
使用命令行:adb shell dumpsys window | grep mCurrent获取

相关内容

热门资讯

年内首次“一周四审”,北交所I... 12月19日晚间,北京证券交易所(简称“北交所”)上市委员会(简称“上市委”)公告显示,将于下周召开...
沪市再现千亿并购 中国神华拟打... 中经记者 孙汝祥 夏欣 北京报道中国神华(601088.SH)12月19日晚披露《发行股份及支付现金...
贵州百灵财务造假被罚1000万... 红星资本局12月19日消息,12月19日,贵州百灵(SZ 002424)发布公告,公司及相关当事人已...
未来领跑者|智谱向港交所递交招... 新京报贝壳财经讯(记者罗亦丹)记者12月19日获悉,中国独立大模型厂商,北京智谱华章科技股份有限公司...
美媒披露以色列暗杀伊朗核专家细... 参考消息网12月19日报道 美国《华盛顿邮报》网站12月17日刊发文章,题为《杀死“智囊”:以色列是...
深夜!A股,重磅突发!刚刚,连... A股巨头大动作。今晚,A股煤炭巨头中国神华一口气发布了88则公告,其中《中国神华发行股份及支付现金购...
耐克,大跌 12月19日,美股三大指数开盘集体上涨,道指涨0.21%,标普500指数涨0.32%,纳指涨0.50...
市北高新间接参股液体火箭公司 ... 中经记者 郭阳琛 石英婧 上海报道12月18日,市北高新(600604.SH)在互动平台回答投资者提...
89年泉州小伙卖3D打印机:融... 订阅 快刀财经 ▲ 做您的私人商学院在3D打印里,有一个公认的难题:多色、或者多材料打印太贵。作者:...
从全球首富到股价腰斩,AI泡沫... 作者 | 煜禾仅仅用67天,美国老牌科技巨头甲骨文(Oracle),就完成了从老板登顶全球首富,到公...