MaaXYZ / MaaFramework

基于图像识别的自动化黑盒测试框架 | An automation black-box testing framework based on image recognition
GNU Lesser General Public License v3.0
1.1k stars 129 forks source link

refactor: 拆分细化控制器中的连接 #273

Open neko-para opened 2 weeks ago

neko-para commented 2 weeks ago

目前最常用的Adb和Win32控制器中, 连接行为不是很统一, 且导致StartApp等操作在Win32下难以实现 考虑按下面方法拆分

连接设备 绑定目标
Adb 现有实现, 连接到模拟器 空实现, 总是使用激活界面(或者可以用于支持多开)
Win32 空实现, 总是能连接到本机 现有实现, 选择具体的Hwnd

这样的话对于Win32, 即使没有窗口, 也可以进行StartApp等操作; 考虑在pipeline中引入第二部的操作动作, 配合具体平台的参数(Win32的Find, Search之类的)

{
  "action": "Bind",
  "win32": {
    "method": "Desktop"
  }
}

连接设备部分保持现有逻辑, 在创建Controller时完成, 绑定目标部分则由Pipeline实现

neko-para commented 2 weeks ago

adb的绑定目标部分也可以考虑做检查activity等操作

neko-para commented 2 weeks ago

或者是把搜索hwnd这个操作合并到controller创建里面,创建参数直接改为method+参数这种