{"repo":"codematrixer/hmdriver2","free":true,"listed":false,"github":"https://github.com/codematrixer/hmdriver2","clone":"git clone https://github.com/codematrixer/hmdriver2.git","description":"UI Automation Framework for HarmonyOS NEXT | 鸿蒙NEXT自动化框架","language":"Python","stars":437,"topics":["automation","harmony","hdc","ui-testing","hmdriver","hypium","harmonyos","hmdriver2","mobile-testing"],"license":"MIT","category":"workflow-automation","readme_excerpt":"hmdriver2 写这个项目前github上已有个叫 hmdriver 的项目，但它是侵入式（需要提前在手机端安装一个testRunner app）；另外鸿蒙官方提供的hypium自动化框架，使用较为复杂，依赖繁杂。于是决定重写一套。 hmdriver2 是一款支持 HarmonyOS NEXT 系统的UI自动化框架， 无侵入式 ，提供应用管理，UI操作，元素定位等功能，轻量高效，上手简单，快速实现鸿蒙应用自动化测试需求。 微信交流群（永久生效） Key idea - 无侵入式 - 无需提前在手机端安装testRunner APP（类似atx app） - 易上手 - 在PC端编写Python脚本实现自动化 - 对齐Android端 uiautomator2 的脚本编写姿势 - 轻量高效 - 摒弃复杂依赖（几乎0依赖），即插即用 - 操作响应快，低延时 Feature - 支持应用管理 - 应用启动，停止 - 应用安装，卸载 - 应用数据清理 - 获取应用列表，应用详情等 - 支持设备操作 - 获取设备信息，分辨率，旋转状态等 - 屏幕解锁，亮屏，息屏 - Key Events - 文件操作 - 屏幕截图 - 屏幕录屏 - 手势操作（点击，滑动，输入，复杂手势） - 支持控件操作 - 控件查找（联合查找，模糊查找，相对查找，xpath查找） - 控件信息获取 - 控件点击，长按，拖拽，缩放 - 文本输入，清除 - 获取控件树 - 支持Toast获取 - UI Inspector - [TODO] 全场景弹窗处理 - [TODO] 操作标记 QUICK START 1. 配置鸿蒙 HDC 环境 1. 下载 Command Line Tools 并解压 2. hdc 文件在 command-line-tools/sdk/default/openharmony/toolchains 目录下 3. 配置环境变量，macOS为例，在 /.bash profile 或者 /.zshrc文件中添加 2. 电脑插上手机，开启USB调试，确保执行 hdc list targets 可以看到设备序列号 3. 安装 hmdirver2 基础库 如果需要使用屏幕录屏 功能，则需要安装额外依赖 opencv-python (由于 opencv-python 比较大，因此没有写入到主依赖中，按需安装) 4. 接下来就可以愉快的进行脚本开发了 😊😊 UI inspector UI 控件树可视化工具，查看控件树层级，获取控件详情。 详细介绍请看 ui-viewer Environment 如何需要连接远端的HDC Server来实现操作远端设备执行自动化，运行脚本前需要设置环境变量 PS 如果需要移除环境变量，执行以下命令 --- API Documents - API Documents - 初始化Driver - App管理 - 安装App - 卸载App - 启动App - 停止App - 清除App数据 - 获取App详情 - 获取App main ability - 设备操作 - 获取设备信息 - 获取设备分辨率 - 获取设备旋转状态 - 设置设备旋转 - Home - 返回 - 亮屏 - 息屏 - 屏幕解锁 - Key Events - 执行 HDC 命令 - 打开URL (schema) - 文件操作 - 屏幕截图 - 屏幕录屏 - Device Touch - 单击 - 双击 - 长按 - 滑动 - 滑动 ext - 输入 - 复杂手势 - 控件操作 - ","default_branch":null,"files":null,"tree":[],"storefront":"/r/codematrixer","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/codematrixer/hmdriver2/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}