AI自动化测试工具-Healenium

具体的操作步骤及案例:

一、mac环境部署

 

二、具体测试用例

 

Healenium 完全支持 Python 与 Selenium 的搭配使用,能够实现自动化测试的“自愈”功能。其核心原理是通过代理模式拦截 WebDriver 请求,当标准定位器失败时,利用机器学习算法自动寻找最相似的元素并执行操作,从而显著降低因 UI 变动导致的脚本维护成本。

以下是 Healenium 在 Python + Selenium 环境下的完整落地实施方案,包含服务端部署配置、Python 客户端代码及依赖管理。

实施关键点说明

  1. ‌架构组成‌:

    • ‌PostgreSQL‌:存储元素的历史特征数据(指纹),用于比对和匹配。
    • ‌Healenium Backend‌:核心服务,运行机器学习算法(基于权重的最长公共子序列算法),计算元素相似度。
    • ‌Healenium Proxy‌:拦截 Selenium 发出的 HTTP 请求。当检测到 NoSuchElementException 时,它会将当前 DOM 发送给 Backend 进行匹配,并将修复后的定位器返回给测试脚本。
    • ‌Selenium Grid/Node‌:实际执行浏览器操作的组件。
  2. ‌Python 集成方式‌:

    • 与 Java 直接引入 JAR 包不同,Python 通常通过‌远程驱动(Remote WebDriver)‌连接到 Healenium Proxy 的地址(例如 http://localhost:8085/wd/hub),而不是直接连接 Selenium Hub。
    • 确保 command_executor 指向 Healenium Proxy 的端口,这样所有的查找元素请求都会经过自愈层处理。
  3. ‌首次运行基准建立‌:

    • 第一次运行测试时,UI 必须是稳定的。Healenium 会记录所有成功定位元素的特征(ID, Class, XPath, Text, TagName, 相邻关系等)。
    • 后续运行中,如果 UI 发生轻微变化(如 ID 改变、Class 增加),Healenium 会自动匹配最相似的元素并执行操作,同时在报告中记录修复详情。
  4. ‌维护与优化‌:

    • 查看 Healenium 生成的报告(通常可通过 Backend 提供的 API 或集成插件查看),确认哪些元素被自动修复。
    • 定期更新测试脚本中的定位器,将“动态修复”转化为“静态稳定”,以减少每次运行时的计算开销

posted on 2026-05-13 18:00  国元  阅读(50)  评论(0)    收藏  举报

导航