Android 自动化交互实践

本文介绍了Android自动化交互的两种常见方案:使用ADB脚本和借助原生方法。ADB脚本实现简单,但依赖坐标,适合交互简单、迭代频率低的App。原生方法通过插件框架能更稳定地控制界面元素,适用于版本迭代频繁的App,但不适用于webview或flutter App。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

李涛

2015年3月加入去哪儿网,客户端开发工程师,曾经担任酒店业务和自助入离机项目开发。现负责国际酒店抓取系统开发与维护。


Android 自动化交互可以代替人工完成重复性的工作,包括通过自动操作 App 进行黑盒测试和第三方 App 的自动运行。常见的自动化交互包含启动 App、view 的点击、拖拽和文本输入等。随着 App 安防能力的提升,要想实现完整流程的自动化交互变的越来越困难,本文主要探讨目前常见的自动化交互方案以及不同方案的优劣和应用场景。


1. 传统执行脚本方案

ADB 是 Google 提供的能够和 Android 设备进行交互的命令行工具,我们可以编写脚本按照事先设计好的顺序,一个一个执行各个事件。ADB 执行操作需要事先获取界面元素的坐标(获取坐标方法可以利用 uiautomator 或者 dump xml 的方法,这里不是讨论的重点),然后把坐标传入作为命令行参数。

adb shell input tap 100 500

上面命令是模拟点击屏幕坐标为(100, 500)处的控件。

adb shell input swipe 100 500 200 600

上面命令是模拟手指在屏幕上向右下方滑动的一个操作。

adb shell input keyevent "KEYCODE_BACK"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值