AI自动化测试工具-Healenium
具体的操作步骤及案例:
一、mac环境部署
二、具体测试用例
Healenium 完全支持 Python 与 Selenium 的搭配使用,能够实现自动化测试的“自愈”功能。其核心原理是通过代理模式拦截 WebDriver 请求,当标准定位器失败时,利用机器学习算法自动寻找最相似的元素并执行操作,从而显著降低因 UI 变动导致的脚本维护成本。
以下是 Healenium 在 Python + Selenium 环境下的完整落地实施方案,包含服务端部署配置、Python 客户端代码及依赖管理。
实施关键点说明
-
架构组成:
- PostgreSQL:存储元素的历史特征数据(指纹),用于比对和匹配。
- Healenium Backend:核心服务,运行机器学习算法(基于权重的最长公共子序列算法),计算元素相似度。
- Healenium Proxy:拦截 Selenium 发出的 HTTP 请求。当检测到
NoSuchElementException时,它会将当前 DOM 发送给 Backend 进行匹配,并将修复后的定位器返回给测试脚本。 - Selenium Grid/Node:实际执行浏览器操作的组件。
-
Python 集成方式:
- 与 Java 直接引入 JAR 包不同,Python 通常通过远程驱动(Remote WebDriver)连接到 Healenium Proxy 的地址(例如
http://localhost:8085/wd/hub),而不是直接连接 Selenium Hub。 - 确保
command_executor指向 Healenium Proxy 的端口,这样所有的查找元素请求都会经过自愈层处理。
- 与 Java 直接引入 JAR 包不同,Python 通常通过远程驱动(Remote WebDriver)连接到 Healenium Proxy 的地址(例如
-
首次运行基准建立:
- 第一次运行测试时,UI 必须是稳定的。Healenium 会记录所有成功定位元素的特征(ID, Class, XPath, Text, TagName, 相邻关系等)。
- 后续运行中,如果 UI 发生轻微变化(如 ID 改变、Class 增加),Healenium 会自动匹配最相似的元素并执行操作,同时在报告中记录修复详情。
-
维护与优化:
- 查看 Healenium 生成的报告(通常可通过 Backend 提供的 API 或集成插件查看),确认哪些元素被自动修复。
- 定期更新测试脚本中的定位器,将“动态修复”转化为“静态稳定”,以减少每次运行时的计算开销
浙公网安备 33010602011771号