AI在Playwright和Selenium中的应用

2025-03-27   出处: jarbon.medium.com  作/译者:Camille/小窝

我很高兴地宣布,coTestPilot.ai 已经发布,支持 Playwright 和 Selenium。这个开源扩展来自 Checkie.AI 的测试团队,为自动化测试引入了额外的 AI 驱动的测试能力。该项目旨在通过简单地集成到现有的 Playwright 和 Selenium 测试中,让每位自动化工程师都能享受到基于 AI 测试带来的价值。

什么是 coTestPilot?

coTestPilot 是 Checkie.AI 和 Testers.AI 提供的 AI 测试代理的轻量级版本。它扩展了 Playwright 和 Selenium,利用 GPT-4 来分析网页,发现潜在的问题、不一致性和可用性问题,从而实现自动化测试和 bug 检测。

最棒的是-只需要一个简单的函数调用,就能为现有的自动化测试增加AI智能检测!

主要特点

  • 多个测试角色:内置多个测试代理角色,包括 UI/UX 专家、无障碍测试专家、安全性测试员等。
  • 可定制检查:可以轻松添加自定义测试规则和专门的提示语。
  • 全面分析:识别视觉错误、内容不一致和功能性问题。
  • 详细报告:生成包含截图和详细问题描述的 HTML 报告。
  • 限流和重试逻辑:内置保护机制,防止 API 速率限制问题。

为什么使用 AI 测试代理?

传统的自动化测试非常擅长检查特定的、预定义的场景。然而,它们往往忽略了人工测试员一眼就能发现的问题。coTestPilot 填补了这一空白,通过添加 AI 驱动- “额外一双眼睛”来增强您的自动化套件。

AI 代理能够识别以下问题:

  • 元素错位等视觉缺陷
  • 内容不一致和拼写错误
  • 可访问性问题
  • 基本的安全性问题
  • 性能预警信号
  • 用户体验问题

开始使用

安装过程非常简单。您可以通过以下链接获取代码:

  • Python / Playwright 异步版
  • Python / Playwright 同步版
  • Python / Selenium4

下载 coTestPilot 的代码库,选择同步或异步版本(取决于您使用的版本),将其与现有代码放在一起,并导入 coTestPilot。

如果您使用 Playwright 异步版:

from playwright.async_api import async_playwright
import playwright_async_cotestpilot  # 导入 AI 检查

如果您使用 Playwright 同步版:

from playwright.sync_api import sync_playwright
import playwright_sync_cotestpilot  # 导入 AI 检查
  1. 设置您的 OpenAI API 密钥:
export OPENAI_API_KEY='your-api-key'
  1. 在需要增强检查的代码位置添加:
# 你的现有 Playwright 测试
async with async_playwright() as p:
    browser = await p.chromium.launch()
    page = await browser.new_page()
    await page.goto('https://example.com')

    # 添加 AI 检查,只需一行
    result = await page.ai_check()
    print(f"发现了 {len(result.bugs)} 个问题")

对于 Selenium:

import selenium_cotestpilot

result = self.driver.ai_check()

寻求贡献者!

我们正在积极寻找贡献者,帮助将开源的 coTestPilot 移植到其他语言,特别是:

  • JAVA、JavaScript、C#
  • Appium、Cypress 等?

同时,帮助添加 PIP 和其他安装程序,以便用户更轻松地将 AI 集成到他们的代码中!

这是一个绝佳的机会,可以为测试自动化社区做出贡献,同时积累 AI 集成的经验。由于核心功能与语言无关,这使它成为一个学习AI 驱动测试的理想项目。

社区聚焦

AI 发现的所有问题都会写入您指定位置的 JSON 文件中。然后,您可以将其导入 JIRA 等工具。此外,还内置了快速报告功能,只需调用报告函数,即可生成一个快速的 HTML 报告仪表盘,这样你就能轻松地将人工智能所发现的所有问题记录在案啦。

要生成报告,只需调用 Playwright 页面对象或 Selenium 驱动程序中新增的这个函数:

report_gen = await self.page.ai_report()

社区驱动

这个项目是为了社区,并且由社区共同打造。虽然通过 checkie.ai 和 testers.ai 提供的专业版本具有更多增强功能,但这个开源版本确保每个自动化工程师都能访问到基本的 AI 驱动的测试能力。

目标很简单:帮助自动化工程师以最小的努力将更全面的检查添加到他们的测试套件中。无论您是运行小型测试套件还是管理企业级的自动化,coTestPilot 都能帮助捕捉传统自动化测试可能遗漏的问题。

接下来会做什么?

未来的路线图包括:

  • 支持更多语言
  • 更多的测试角色
  • 增强的报告功能
  • 支持 PIP 安装

贡献

成为技术圈的名人,为将人工智能集成到最流行的框架中贡献力量(这在简历上可能会很好看哦!)。如果您有兴趣参与,特别是将其移植到 JavaScript、JAVA 或 C#,请查看我们的 GitHub 仓库。

记住,这不仅仅是一个工具——它是一个塑造测试自动化未来的机会。加入我们,让人工智能驱动的测试惠及每一个人!

请注册并帮助移植到其他平台和语言!

如果可能的话,也希望大家帮助支持 Anthropic、Azure 等平台,以及像 Ollama 这样的本地 LLM,让大家能够在本地防火墙后运行,而不需要 API 密钥。

今天就开始吧

查看我们的 GitHub 仓库,开始为您的测试添加 AI 功能。无论您是为现有的测试套件添加基本检查,还是构建全面的 AI 驱动的测试场景,coTestPilot 都可以为您提供帮助。

让我们携手努力,让测试自动化变得更智能、更高效,并且让测试和自动化领域的每一个人都能更轻松地使用它。

欲了解更多信息或参与项目,欢迎访问我们的 GitHub 仓库,或通过社区渠道与我们联系。让我们一起努力,让测试变得更好!


声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
/77 人阅读/0 条评论 发表评论

登录 后发表评论
最新文章