presidio-oss/factifai-agent-suite
GitHub: presidio-oss/factifai-agent-suite
一款 AI 驱动的测试自动化套件,将自然语言指令转化为可执行的浏览器操作以提升测试效率。
Stars: 18 | Forks: 8
通过 AI 驱动的计算机控制实现测试自动化。
从手动步骤到自动化测试,仅需几分钟。
从手动步骤到自动化测试,仅需几分钟。
# Factifai Agent Suite **面向现代开发工作流的 AI 驱动测试工具** Factifai Agent Suite 提供一系列 AI 驱动的工具,旨在加速并提升各种开发工作流中的测试过程。通过利用大型语言模型(LLM),该套件使开发者与 QA 团队能够使用自然语言创建、执行和维护测试,让测试变得更易访问、更易维护且更高效。  ## 📑 目录 - [概述](#-overview) - [功能演示](#-features-in-action) - [从自然语言到可执行步骤](#-from-plain-english-to-executable-steps) - [实时测试执行可视化](#-real-time-test-execution-visualization) - [即时详细的测试结果](#-instant-detailed-test-results) - [为团队与 CI/CD 提供专业报告](#-professional-reports-for-teams--cicd) - [自动 Playwright 脚本生成](#-automatic-playwright-script-generation) - [工具](#-tools) - [当前可用功能](#currently-available) - [后续计划](#whats-next) - [快速入门](#-getting-started) - [前提条件](#prerequisites) - [安装](#installation) - [快速开始示例](#quick-start-examples) - [开发环境搭建](#development-setup) - [使用场景](#-use-cases) - [架构](#-architecture) - [贡献指南](#-contributing) - [许可证](#-license) - [行为准则](#-code-of-conduct) - [联系方式](#-contact) ## 🔍 概述 软件测试传统上需要专门知识与大量时间投入。Factifai Agent Suite 通过允许使用自然语言定义测试、以精确方式自动执行,并与现代 CI/CD 流水线无缝集成,重新定义了这一流程。 我们的工具面向以下人群: - **加速测试流程**,不牺牲质量或覆盖范围 - **降低维护测试套件的复杂性** - **让无专门测试经验的成员也能参与测试** - **将 AI 驱动的测试集成到现有开发流程与流水线中** ## ✨ 功能演示 ### 🧠 从自然语言到可执行步骤 见证你的自然语言如何转化为结构化的测试计划!AI 将复杂指令拆解为精确、有序的步骤,随时可供执行。  ### 🔄 实时测试执行可视化 体验测试实时运行的满足感!直观的 CLI 界面让你清楚了解每一步进展,使调试与监控变得轻松。  ### 📊 即时详细的测试结果 无需再查阅日志!测试执行一完成,即可获得结构精美、内容全面的测试结果。  ### 📑 为团队与 CI/CD 提供专业报告 无缝融入工作流!生成精美的 HTML 报告供团队分享,并为 CI/CD 流水线提供结构化的 XML 输出。  ### 🎭 自动 Playwright 脚本生成 将成功的自然语言测试转化为可复用的 Playwright 脚本!AI 会根据测试执行自动生成基于选择器和基于坐标的 Playwright 代码,提供灵活、健壮的自动化代码。  ## 🧰 工具 ### 当前可用 | 工具 | 包名 | 描述 | |------|---------|-------------| | **[Factifai Agent](./packages/factifai-agent/)** | [@presidio-dev/factifai-agent](https://www.npmjs.com/package/@presidio-dev/factifai-agent) | 使用自然语言指令进行浏览器自动化测试的 CLI 工具([文档](./packages/factifai-agent/README.md)) | | **[Playwright Core](./packages/playwright-core/)** | [@presidio-dev/playwright-core](https://www.npmjs.com/package/@presidio-dev/playwright-core) | 针对 LLM 优化的 Playwright 封装,提供基于坐标的浏览器控制([文档](./packages/playwright-core/README.md)) | | **[Factif-AI](https://github.com/presidio-oss/factif-ai)** | Web 版本 | 在浏览器中运行的 Factifai 版本,提供相同的 AI 驱动测试能力 | #### Factifai Agent 一款以 CLI 为首的自动化工具,允许你用自然语言编写浏览器测试。它将自然语言指令转换为精确的浏览器操作,通过结构化的 LangGraph 工作流执行,并在终端中提供丰富的测试进度可视化。该代理支持多种 LLM 提供商(OpenAI、Azure OpenAI 和 AWS Bedrock)、跨浏览器测试,并与 CI/CD 无缝集成,使自动化测试对无专门测试经验的团队成员更加友好。 📚 **[查看完整文档](./packages/factifai-agent/README.md)** 获取详细使用说明、配置选项与最佳实践。 #### Playwright Core 专为 LLM 设计的 Playwright 封装,用于通过基于坐标的交互系统控制网页浏览器。与依赖复杂 DOM 选择器的传统浏览器自动化不同,该包使 AI 模型能够使用视觉坐标,自动识别交互元素并提供增强的调试能力。它具备会话管理、自动元素检测、视觉元素高亮以及简化 API(抽象 Playwright 复杂性)等特性。 📚 **[查看完整文档](./packages/playwright-core/README.md)** 获取详细的 API 参考、集成选项与高级使用示例。 #### Factif-AI(Web) 与 Factifai Agent 对应的 Web 版本,完全在浏览器中运行。它提供相同的 AI 驱动测试能力,但具备图形界面,无需安装 CLI。适合需要快速测试或偏好可视化界面的团队。 📚 **[在 GitHub 上查看](https://github.com/presidio-oss/factif-ai)** 获取更多信息并在线试用。 ### 后续计划 - **factifai-quest**:一款 CLI 工具,智能爬取网站并自主探索,通过遍历链接与页面构建完整的站点地图,捕获每个发现页面的截图,并利用 LLM 生成详细文档,为测试规划与覆盖分析提供有价值洞察。 - **factifai-test-curator**:一个基于 Web 的界面,结合 factifai-agent 与 factifai-quest 的能力,提供完整的测试管理解决方案。它支持有针对性的网站探索、带前后对比截图的视觉测试用例编辑,以及可让用户优化 AI 建议测试套件或从零创建测试的交互式测试创建环境。 *有兴趣为这些工具贡献代码吗?请查阅我们的 [贡献指南](CONTRIBUTING.md) 或提交议题讨论你的想法!* ## 🚀 快速入门 ### 前提条件 - Node.js 18+ - pnpm 10.11.0+ - OpenAI API 密钥 或 AWS Bedrock 凭证 或 Azure OpenAI 凭证 ### 安装 ``` # 全局安装 factifai-agent npm install -g @presidio-dev/factifai-agent # 全局安装 Playwright(必需) npm install -g playwright # 安装 Playwright 依赖(必需) npx playwright install --with-deps # 单独安装 playwright-core(如单独使用) npm install @presidio-dev/playwright-core ``` ### 快速开始示例 #### 使用 AWS Bedrock 的 Factifai Agent ``` # 配置 AWS 凭证(仅需一次) factifai-agent config --set AWS_ACCESS_KEY_ID=your-access-key-id factifai-agent config --set AWS_SECRET_ACCESS_KEY=your-secret-access-key factifai-agent config --set AWS_DEFAULT_REGION=us-west-2 # 使用自然语言运行测试 factifai-agent --model bedrock run "Navigate to saucedemo.com, login with standard_user/secret_sauce, and add the first product to cart" ``` #### 使用 OpenAI 的 Factifai Agent ``` # 配置 OpenAI API 密钥(仅需一次) factifai-agent config --set OPENAI_API_KEY=your-api-key-here # 使用自然语言运行测试 factifai-agent --model openai run "Navigate to duckduckgo.com and search for 'testing automation'" ``` #### 使用 Azure OpenAI 的 Factifai Agent ``` # 配置 Azure OpenAI API 密钥、实例名称、部署名称和 API 版本(仅需一次) factifai-agent config --set AZURE_OPENAI_API_KEY=your-api-key-here factifai-agent config --set AZURE_OPENAI_API_INSTANCE_NAME=your-instance-name factifai-agent config --set AZURE_OPENAI_API_DEPLOYMENT_NAME=your-deployment-name factifai-agent config --set AZURE_OPENAI_API_VERSION=your-api-version # 使用自然语言运行测试 factifai-agent --model azure-openai run "Navigate to duckduckgo.com and search for 'testing automation'" ``` ### 开发环境搭建 ``` # 克隆仓库 git clone https://github.com/presidio-oss/factifai-agent-suite.git cd factifai-agent-suite # 安装依赖 pnpm i # 构建所有包 pnpm -r build # 全局安装 Playwright(必需) npm install -g playwright # 安装 Playwright 依赖(必需) npx playwright install --with-deps # 为 factifai-agent 创建全局符号链接 cd packages/factifai-agent pnpm link --global ``` ## 🔧 使用场景 ### CI/CD 集成 在 CI/CD 流水线中自动化测试,使用自然语言编写的测试套件可被非技术人员创建与维护。并行运行多个测试,AI 处理浏览器导航与验证步骤,提供无需复杂脚本的全面测试覆盖。 ### 跨浏览器兼容性测试 使用相同的自然语言测试用例验证应用在不同浏览器中的一致性。同时在 Chrome、Firefox 和 Safari 上运行相同指令,利用并行执行大幅缩短测试时间,同时发现浏览器特有的不一致。 ### 端到端测试 使用自然语言指令验证完整用户旅程——只需用英文描述测试目标。AI 自主导航复杂流程(如结账或用户注册),处理 UI 交互与验证,无需编写选择器或代码。 ### 回归测试 维护一份团队任何人都能理解和更新的人类可读测试文件。当代码变更时,AI 智能适应 UI 与新元素,降低维护开销并持续可靠地捕获功能回归。 ## 🏗️ 架构 Factifai Agent Suite 采用模块化、流水线式架构,将自然语言测试指令转化为精确的浏览器交互: ### 关键组件 - **Factifai Agent**:编排端到端测试 - **LLM 编排层**(LangGraph):管理用于解析指令的 AI 工作流 - **节点流水线**:预处理 → 解析 → 执行 → 跟踪 → 脚本生成 → 报告 - **配置系统**:持久化存储 API 密钥与设置 - **Playwright Core**:为 factifai-agent 提供浏览器自动化基础 - **浏览器服务**:管理浏览器会话与页面交互 - **视觉元素检测**:无需选择器即可识别可点击元素 - **基于坐标的交互**:使用空间定位而非 DOM 选择器 架构将自然语言理解与浏览器自动化解耦,使各组件可独立演进同时保持兼容性。这也使得工具可单独或组合使用,以适应不同的测试需求。 ## 🤝 贡献 我们欢迎对 Factifai Agent Suite 的贡献!请查阅我们的 [贡献指南](./CONTRIBUTING.md) 了解如何参与。 ## 📄 许可证 本项目采用 MIT 许可证授权——详情见 [LICENSE](LICENSE) 文件。 ## 📜 行为准则 请阅读我们的 [行为准则](CODE_OF_CONDUCT.md),以保持社区友好与尊重。 ## 📧 联系方式 如有疑问或反馈,请通过 [hai-feedback@presidio.com](mailto:hai-feedback@presidio.com) 与我们联系。
标签:AI自动化测试, AI驱动测试, CI/CD测试, LLM测试, LNA, MITM代理, Playwright生成, pnpm, 前端自动化, 实时测试报告, 开源测试工具, 无代码测试, 测试可视化, 特征检测, 端到端测试, 自动化回归测试, 自动化攻击, 自然语言测试, 视觉模型测试, 跨平台测试