Skip to content

增加了wait_gone、wait、watcher、scroll、添加显式关闭方法并改进资源释放逻辑#57

Open
ziguiway wants to merge 28 commits intocodematrixer:masterfrom
ziguiway:master
Open

增加了wait_gone、wait、watcher、scroll、添加显式关闭方法并改进资源释放逻辑#57
ziguiway wants to merge 28 commits intocodematrixer:masterfrom
ziguiway:master

Conversation

@ziguiway
Copy link
Copy Markdown

增加了wait_gone、wait、watcher、scroll、添加显式关闭方法并改进资源释放逻辑

zhengshuang added 28 commits April 23, 2026 10:07
实现基于轮询的后台规则监控功能,支持选择器和xpath匹配,提供click、press_back和自定义操作
添加线程安全的WatcherManager管理规则,包含完整的单元测试
在HmClient中添加IO锁保证多线程安全
实现滚动辅助功能,包括垂直/水平滚动、列表导航和快速滑动。支持通过组件API或Driver.swipe作为后备方案实现滚动操作。
新增MatchPattern枚举类用于支持多种匹配模式
添加相关测试用例验证匹配功能
重构UiObject类以使用新的匹配模式接口
- 新增模糊子串与正则选择器说明
- 添加等待出现/消失功能文档
- 补充滚动列表操作说明
- 新增后台 watcher 功能文档
- 优化文档结构和示例代码
…ling

- Implemented wait and wait_gone methods in _XMLElement to allow for dynamic querying of UI elements based on XPath.
- Updated _XPath class to support these new methods, enhancing the ability to wait for elements to appear or disappear within a specified timeout.
- Added corresponding tests to validate the functionality of wait and wait_gone methods.
…ith new key press methods

- Updated version number in pyproject.toml to 1.0.7.
- Enhanced README to include new key press methods such as press_back, press_home, and others for improved usability.
- Added detailed descriptions for key events and their corresponding methods in the documentation.
为Driver类添加close方法以便显式关闭连接,改进_client.py中的资源释放逻辑,避免在解释器关闭时执行subprocess操作。同时更新版本号至1.0.8。

- 在Driver类中添加close方法作为显式关闭连接的推荐方式
- 在HmClient类中改进release方法,添加_released标志避免重复释放
- 处理解释器关闭时的特殊情况,跳过可能引发异常的subprocess操作
- 更新pyproject.toml中的版本号至1.0.8
新增通过应用显示名/软件名匹配启动应用的功能,支持多种匹配方式(包含、精确、正则等),并添加视觉定位功能(模板匹配和颜色匹配点击)

- 添加 AppNameNotFoundError 和 AppNameAmbiguousError 异常类
- 实现 find_package_by_display_name 等方法用于显示名匹配
- 添加 start_app_by_name 和 force_start_app_by_name 方法
- 实现视觉定位功能,包括模板匹配(find_image)和颜色匹配(find_color)
- 添加 click_image 和 click_color 方法用于视觉定位点击
- 添加 image_size 工具方法获取图片尺寸
- 更新 README 文档说明新功能
- 添加相关单元测试
将opencv-python-headless从额外依赖项移动到主依赖项,并移除旧的额外依赖配置
重构图像匹配和颜色点击功能,增加错误处理和详细日志记录
移除README中关于opencv-python的安装说明
更新测试用例以使用实际图片而非合成数据
新增 draw_box 参数控制是否在匹配成功的截图上绘制边框、中心点和匹配分数
为模板匹配功能添加多尺度匹配支持,以适应不同分辨率场景。同时增加图像预处理选项(归一化和直方图均衡化)以提高匹配准确率。修改涉及driver.py和_vision.py文件,新增相关参数和实现逻辑。
当截图分辨率与设备分辨率匹配时,直接使用坐标而不进行缩放计算,提高点击精度
将截图方法名称从"screenCap"更新为更准确的"snapshot_display"
同时更新项目版本号至1.1.4
删除未使用的图像预处理功能,包括预处理参数和函数
简化模板匹配代码逻辑,优化变量命名和错误提示
移除冗余注释,保持核心功能不变
简化 current_app 方法的实现逻辑,使用单次正则匹配替代原有复杂的分步处理
移除不再需要的内部函数 __extract_info
改进返回类型注解为 Optional[str] 更准确
重构 current_app 方法,使用更健壮的正则匹配逻辑来获取前台应用信息。新增对 mission name 和 bundle name 的多种匹配方式,提高在不同场景下的准确性。同时添加方法示例说明文档。
将`_invoke_on`方法中的`this`参数设为可选,默认值为"On#seed",并在`__get_by`方法中复用该值。优化了方法调用时的参数传递,减少重复代码。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant