Appium Android Toast控件

时间:2021-05-14 21:28:01

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控件,将其转成一个虚拟页面。转换源码如下:

Appium Android Toast控件

练习App

可使用官方提供的app进行练习。

https://github.com/appium/sample-code/raw/master/sample-code/apps/ApiDemos/bin/ApiDemos-debug.apk

功能路径:Views——PoPup——Menu

Appium Android Toast控件