Appium Android Toast控件

Android Toast控件是Android系统级别的控件,不是App的控件,getPageSource是⽆法找到的。

Toast介绍

1.背景
在安卓设备里面,使用各种手机应用程序的时候,需要先进行登录操作。如果登录成功,手机下方会弹出一个“登录成功”的消息提示,一个简单的提醒,同时又不会打扰到用户,这个就是toast。
2.简介
toast,简单的消息提示框。
2.1 为了给当前视图显示一个浮动的显示块,与dialog不同,它永远不会获取焦点。
2.2 Toast类的思想:尽可能不引人注意,同时还向用户显示信息希望他们看到
2.3 Toast显示的时间有限,Toast会根据用户设置的显示时间后自动消失。
2.4 Toast本身是个系统级别的控件,它归属于系统settings,当一个app发送消息的时候,不是自己造出来的这个弹框,它是发给系统,由系统统一进行弹框。这类的控件不在app内,需要特殊的控件识别方法。

怎么判断一个控件是Toast控件

https://blog.csdn.net/shanchuan94912/article/details/107520137

定位工具

UIAutomatorViewer

定位方法

使用Xapth定位

//*[contains(@text,'xxx')]
//*[@class='android.widget.Toast']

原理

Appium发现Toast控件,将其转成一个虚拟页面。转换源码如下:

练习App

可使用官方提供的app进行练习。
https://github.com/appium/sample-code/raw/master/sample-code/apps/ApiDemos/bin/ApiDemos-debug.apk
功能路径:Views——PoPup——Menu

原文地址:https://www.cnblogs.com/Uni-Hoang/p/13765924.html