https://appium.io/docs/en/latest/quickstart/uiauto2-driver/
打开APP,adb shell "dumpsys window | grep mCurrentFocus" 获取程序包,adb shell monkey -p com.xxxxxxx(appPackage) -vvv 1 获取活动名
capabilities 文档: https://w3c.github.io/webdriver/#capabilities, https://appium.io/docs/en/latest/guides/caps/
adb shell dumpsys window | Select-String mCurrentFocus | ForEach-Object {if ($_ -match '(\w+[\.\w]*)\/') {$matches[1]}}
adb shell monkey -p com.shengzekeji.waimaigo -vvv 1 | select-String component| ForEach-Object {if ($_ -match 'component=[\.\w]*\/(\.?[\.\w]*);end') {$matches[1]}}
常见应用的 appPackage 和 appActivity
| 应用 | appPackage | appActivity | 备注 |
|---|---|---|---|
| EDGE | com.microsoft.emmx | com.microsoft.ruby.Main | 计数器位置(330,1450) |
| 拼多多 | com.xunmeng.pinduoduo | .ui.activity.MainFrameActivity | 抢券坐标(800,550) |
| 火线助手 | com.tencent.qt.sns | com.tencent.gamehelper.ui.main.WelcomeActivity |
await driver.performActions([
{
type: 'pointer', // 动作类型为指针(pointer)
id: 'finger', // 输入源的标识符,可以是任意名称
parameters: { pointerType: 'touch' }, // 输入类型为触摸(touch)
actions: [
{ type: 'pointerMove', duration: 0, x: 100, y: 200 }, // 移动到指定坐标
{ type: 'pointerDown', button: 0 }, // 按下触摸点
{ type: 'pointerUp', button: 0 } // 松开触摸点
]
}
]);
performActions 关键字段解释type: 输入源的类型。pointer:适用于触摸和鼠标操作。key:适用于键盘输入。id: 输入源的唯一标识符,用于区分多个输入源(例如多点触控)。parameters: 输入源的其他参数。pointerType: touch 表示触摸,mouse 表示鼠标。actions: 动作数组,定义动作的详细步骤。常见的动作类型有:pointerMove:移动到指定坐标。duration:移动持续时间,单位是毫秒。x 和 y:移动到的屏幕坐标。pointerDown:按下触摸或鼠标按钮。button:一般为 0,表示主按钮(左键或触摸)。pointerUp:松开触摸或鼠标按钮。button:同样一般为 0。