基于Xposed的一款自动化框架,让开发脚本更效率
本帖最后由 niub518 于 2021-4-27 13:33 编辑简介:基于Xposed做的一款自动化点击,滑动框架(基于安卓原生的事件分发)。可以模拟手指的一切操作,基于Xpath表达式获取View。此框架在virjar大佬的框架基础上进行的修改的,修复了部分Bug,添加常用方法等。
项目结构介绍:App:目标Appxposedemo:Xposed模块的使用demoXposedAppiumLib: XposedAppium库实现原理:通过Hook Application->dispatchActivityResumed(也可以Hook Activity的 onResume),包括Fragment里面的onResume等来监听页面的切换。实现执行自己的逻辑。Api介绍:有两个常用的类 PageManager 和 ViewImage
PageManager
getContext()获取当前Application的Context
getClassloader()获取当前Application的ClassLoader
ActivityFocusHandler需要处理的Activity接口
FragmentFocusHandler需要处理的Fragment接口
AlertDialogShowListener监听对话框Show的接口
setTaskDuration设置任务时间间隔,这会影响case执行速度
setDisable自动化插件的整体开关
getMainLooperHandler获取主线程Handler对象
SetDialogShowListener设置Show方法回调
addHandler添加需要处理的Activity
getTopActivity获取当前Activity
getTopDialogWindow获取最上层对话框的Window对象可能为Null
getTopPupWindowView获取最上层PupView
tryGetTopView根据Xpath表达式获取ViewImage(对上层的全部View进行遍历)
getTopRootView获取最上层的并且显示的View,比如对话框
getTopFragment获取最上层Fragment
ViewImage
ViewImage(View originView)根据一个View生成ViewImage对象
getType获取当前View的ClassName
getText尝试获取View的Text
setText尝试对TextView SetText
getOriginView获取ViewImage 原始View
childCount获取子孩子的个数
childAt根据位置获取
index获取位置
getAllElements获取全部的子节点,包括父类,子类
previousSibling获取上个兄弟节点
rootViewImage获取父类ViewImage
xpath查找全部匹配项
xpath2String根据xpath表达式拿到对应View里面的具体内容,类似"//android.widget.TextView[@contentDescription='XXXXXXXXXXXXXXXX']/text()"
xpath2One根据Xpath表达式获取ViewImage(对上层的全部View进行遍历,弹窗,Activity,悬浮窗等),返回第一个匹配项
clickByXpath根据Xpath表达式
typeByXpath对 TextView 类型 设置指定内容
click点击当前View
swipe滑动当前View,开始坐标xy,结束坐标xy
swipeDown向下滑动,负值为向上
toString打印当前view包括子view的全部属性
项目地址https://github.com/w296488320/XposedAppium
谢谢支持 支持原创! 可以用来搞手游脚本吗? 楼上的可以自己开发项目搞搞看 这款脚本竟然可以模拟手指的一切操作,还添加了常用方法,看起来比较实用啊。谢谢分享! 853679185 发表于 2021-4-27 08:06
可以用来搞手游脚本吗?
当然可以啊,比按键精灵强多了。平时用xposed开发脚本相对比较复杂。所以整了个脚本框架出来,方便大家做快速二次开发 aa868682008 发表于 2021-4-27 07:39
支持原创!
谢谢支持
页:
[1]