外链论坛

 找回密码
 立即注册
搜索
查看: 5|回复: 0

时下最火的App自动化利器:Toast原理解析及操作实例,快速上手没阻碍!

[复制链接]

715

主题

0

回帖

9914万

积分

论坛元老

Rank: 8Rank: 8

积分
99148140
发表于 3 天前 | 显示全部楼层 |阅读模式

简介

Toast 是一种轻量级的信息提示,常常以小弹框的形式显现通常显现 1 到 2 秒会自动消失,能够此刻屏幕上中下任意位置。

Toast拥有如下的特点:

法被点击,区别于 Dialog,永远不会得到焦点。Toast 表示的时间有限,Toast 会按照用户设置的表示时间后自动消失是系统级别的控件,属于系统 settings

Toast 的思想:尽可能不引人重视同期还向用户表示信息,期盼用户看到。

如下图,便是一种 Toast 信息框类型:

Toast 定位

Appium 在抓取 Toast 时,运用的是 uiautomator 底层,而后将 Toast 元素放入控件树中。必须重视的是,Toast 本身并不属于常规的用户界面控件,而是一种短暂的信息提示,在这个过程中,Appium 运用的是 uiautomator2。

Toast 显现的时间通常比较短,能够经过等待打印页面元素的方式判断是不是存在,并且经过 Xapth Accessibility ID 的定位方式找到 Toast 元素。在页面结构中,Toast 元素大致如下所示:

<!-- 在这儿能够看到Toast信息提示框的class是android.widget.Toast,且一个页面通常仅有一个 -->

<android.widget.Toast index="1" package="com.android.settings" class="android.widget.Toast" text="Clicked popup menu item Search" displayed="true" />

1、配置 driver 的初始化和关闭 driver 的过程

class TestToast:

def setup_class(self):

caps = {

platformName: android,

appium:appPackage: io.appium.android.apis,

appium:appActivity: io.appium.android.apis.view.PopupMenu1,

"appium:noReset": True,

"appium:shouldTerminateApp": True

}

self.driver = webdriver.Remote("http://127.0.0.1:4723", options=UiAutomator2Options().load_capabilities(caps))

self.driver.implicitly_wait(15)

def teardown_class(self):

self.driver.quit()

2. 定位 toast 信息提示框

def test_get_toast(self):

# 定位到 Make a Popup! 按钮并点击

self.driver.find_element(AppiumBy.ACCESSIBILITY_ID, "Make a Popup!").click()

# 信息框类型选取search

self.driver.find_element(AppiumBy.XPATH, "//*[@text=Search]").click()

# 获取 Toast 弹框文本信息

result = self.driver.find_element(AppiumBy.XPATH, "//*[contains(@text, Clicked popup)]").text

assert result == "Clicked popup menu item Search"

总结

Toast 信息提示框是一个显现时间短并且法被点击,通常能够用 Xpath Accessibility ID 的方式去定位。

举荐学习

Python全栈研发与自动化测试研发高薪私教班,内容全面升级,可选取岗位更加多,就业面更广。4 个月 30+ 项目实战强化训练,资深测试架构师、开源项目作者亲授 BAT 大厂前沿最佳实践,0基本可学,带你一站式把握测试研发必须核心技能!增多高薪私教服务,针对性处理工作困难,简历指点+模拟面试+面试复盘,助你斩获更加多Offer!

返回外链论坛:http://www.fok120.com/,查看更加多

责任编辑:网友投稿

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|外链论坛 |网站地图

GMT+8, 2024-7-6 16:08 , Processed in 0.101848 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.