Android-Toast捕获原理+断言

430 阅读1分钟

一、Toast

1:Toast-系统弹框

2:Toast识别方法

A:automationName:uiautomator2

B:定位:xpath // * 【@class = 'android.widget.Toast'】

3:下载学习用的资料链接:github.com/appium/java…

adb install apk拖拽进来即可安装

A:创建一个脚本

image.png

B:获取包名 adb logcat | grep Displayed

image.png

C:contect_desc元素定位方法 blog.csdn.net/YUICUI/arti…

问题:调用find_element_by_android_uiautomator失败 原因:缺少android.py文件

4:最后的代码运行 知识点:1:屏幕滑动 2:捕获toast

image.png

二、断言

检查元素是否存在:find_elements 元素属性正确性:get_attribute

A:判断元素是否存在

# 判断元素是否存在
assert len(self.driver.find_elements_by_xpath("//*[@text = 'Edit']")) == 1
self.driver.find_element_by_xpath('//*[@text="Search"]').click()
# 打印捕获toast
assert "Clicked popup menu item Search" in self.driver.find_element_by_xpath('//*[@class="android.widget.Toast"]').text

image.png

B:获取元素

message = self.driver.find_element_by_xpath('//*[@class="android.widget.TextView"]')
assert "com.navalink" in message.get_attribute('package')

get_attribute属性值的写法

image.png

C:断言方法 Hamcrest

官网:hamcrest.org/

安装此包:

image.png

image.png

断言代码:

assert_that(message.get_attribute('package'),equal_to("com.navalink"))

最终实现效果:

image.png