软件测试|UI遍历的初步尝试

简介: 软件测试|UI遍历的初步尝试

对于测试人员,UI 遍历已经很普遍了,比如说 Monkey, UICrawler 等等,都可以进行 UI 遍历。那我们怎么按照顺序去遍历一个 app 呢。下面介绍一个360 开测平台上用 uiautomator 做的 UI 遍历。

实现步骤

需要的参数:包名、启动类名、遍历截止类名、遍历时间、遍历总步数、遍历中需要登录的账号、登录密码。

实现思路:

①. 启动当前的 apk

②. 添加界面变化监听

③. dump界面组件元素

④. 排列界面组件元素

⑤. 比对界面元素

⑥. 操作界面组件元素,截图绘制

⑦. 遍历结束,停止UI遍历

详细说明

NUM 1

初始化参数配置

NUM 2

监听界面变化,这里我们添加 AccessibilityService 进行界面变化的监听,主要监听界面的三个变化,

TYPE_WINDOW_STATE_CHANGED, TYPE_WINDOW_CONTENT_CHANGED,
TYPE_VIEW_CLICKED 窗口变化,
窗口内容变化,点击事件变化监听。

我们做一些初始化的判断:

1、包名是否正确

2、类名是否获取成功

  1. 软件盘弹出来了,关掉软件盘输入

NUM 3-4

dump 界面组件元素,我们在这里只 dump 一些我们可以操作的界面元素,比如说可以点击的,可以滑动的界面元素。

在 dump 的过程中,我们可以按照一般的 app 出现的特殊情况进行一个排序,比如列表的话,我们只取在界面范围内的元素,ViewPage ,我们可以优先取出来:

判断列表在点钱界面有几个子界面可以 dump:

判断当前的控件是否显示在可见屏幕范围内:

保存数据:

NUM 5

比对界面元素,判断当前要操作的组件。

我们怎么比对当前界面操作的元素呢:这里分为两种比对方式

1、MD5 比对, 在存储的串中,当前操作的MD5是否和当前界面生成的MD5是否相同。

2、比对图片的相似度,每点击一次,比对一个图片相似度,如果存在相同的部分,直接抽取数据进行排列组合生成一个新的 list

NUM 6

操作界面元素

NUM 7

停止UI遍历

停止条件:遍历时间和设置时间相同, 遍历步数和设置的步数相同, 返回手机屏幕界面,遍历结束

相关文章
数据结构上机测试4.1:二叉树的遍历与应用1
数据结构上机测试4.1:二叉树的遍历与应用1
|
1月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
95 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
4月前
|
前端开发 测试技术 UED
【测试效率对比】深入分析:为何UI自动化测试的投资回报率通常低于接口自动化测试?
这篇文章深入分析了UI自动化测试与接口自动化测试的投资回报率(ROI)问题,指出UI自动化测试在某些情况下的ROI并不低,反驳了没有实施过UI自动化就轻易下结论的观点,并强调了实践的重要性和自动化测试在项目迭代中的作用。
96 1
|
7月前
|
前端开发 测试技术 持续交付
【Flutter 前端技术开发专栏】Flutter 中的 UI 测试与自动化测试
【4月更文挑战第30天】本文探讨了 Flutter 应用中UI测试和自动化测试的重要性,包括保障质量、提高效率和增强开发信心。Flutter提供`flutter_test`库进行Widget测试,以及`flutter_driver`进行集成测试。UI测试涵盖界面布局、交互和状态变化的验证,最佳实践建议尽早引入测试、保持用例简洁,并结合手动测试。未来,随着Flutter技术发展,UI测试和自动化测试将更加完善,助力开发高质量应用。
230 0
【Flutter 前端技术开发专栏】Flutter 中的 UI 测试与自动化测试
|
7月前
|
消息中间件 Kafka Linux
Kafka【付诸实践 03】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
【2月更文挑战第21天】Kafka【付诸实践 03】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
885 2
|
7月前
|
消息中间件 Kafka Linux
Kafka【应用 01】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
Kafka【应用 01】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
522 0
|
7月前
|
数据采集 Web App开发 前端开发
前端自动化UI测试的完整方案
前端自动化UI测试的完整方案
808 0
|
前端开发
前端项目实战陆拾伍react-admin+material ui-踩坑-List需要Datagrid中Datagrid测试步骤
前端项目实战陆拾伍react-admin+material ui-踩坑-List需要Datagrid中Datagrid测试步骤
62 0
|
前端开发
前端项目实战叁拾玖-​react-admin+material ui-多表测试基本结构-第叁层
前端项目实战叁拾玖-​react-admin+material ui-多表测试基本结构-第叁层
54 0
|
前端开发
前端项目实战肆拾-​react-admin+material ui-多表测试基本结构-外链关联表
前端项目实战肆拾-​react-admin+material ui-多表测试基本结构-外链关联表
70 0
下一篇
DataWorks