Shortest – 使用自然语言编写端到端(E2E)测试的开源框架

shortest 是一个使用自然语言编写端到端(E2E)测试的开源框架。它利用人工智能(AI)的力量,让测试变得更简单、更高效,降低了编写和维护测试的门槛。简单来说,shortest 让你用人类语言描述测试场景,它就能自动帮你执行测试,并生成测试报告。这大大简化了传统的需要编写大量代码的测试流程。

特性和功能

  • 自然语言编写测试: 使用简单的自然语言描述用户行为和预期结果,例如 “用户使用邮箱和密码登录应用”,而不是编写复杂的代码。
  • AI 驱动: 利用 AI 技术理解自然语言描述,并将其转换为可执行的测试步骤。
  • 端到端测试: 支持完整的端到端测试,模拟用户从头到尾的完整操作流程。
  • 内置功能丰富: 原生支持 E2E 测试、双因素认证(2FA)测试、邮件验证等功能,无需额外的插件或配置。
  • 与 GitHub 集成: 可以与 GitHub 无缝集成,直接在 CI/CD 流水线中运行测试。
  • Mailosaur 集成: 与 Mailosaur 平台集成,方便验证邮件发送和接收功能。
  • 跨设备兼容性测试: 利用 Playwright 的多设备模拟能力,高效验证应用在不同设备和浏览器中的表现。

工作原理

shortest 的工作流程大致如下:

  1. 编写测试用例: 使用自然语言描述测试场景和预期结果,例如:

    shortest('Login to the app using email and password', {
      username: process.env.GITHUB_USERNAME,
      password: process.env.GITHUB_PASSWORD
    })
  2. 执行测试: 运行 shortest 命令,它会将自然语言描述转换为可执行的测试步骤。

  3. 生成测试报告: shortest 会生成详细的测试报告,显示测试结果和错误信息。

与传统测试框架的对比:

特性 传统测试框架 Shortest
编写方式 手写代码 自然语言描述
技术门槛
执行效率 中等
功能覆盖 依赖插件扩展 原生支持 E2E、2FA、邮件验证等功能
AI 驱动

适用场景:

  • Web 应用端到端测试: 特别适合复杂的 Web 应用测试,尤其是涉及多个页面跳转、动态交互和数据验证的场景。
  • CI/CD 流程自动化:shortest 集成到 GitHub 工作流中,可实现自动化测试触发和结果反馈。
  • 用户认证与安全测试: 支持 2FA 和邮件验证功能,是测试用户登录、注册流程的理想选择。

如何使用

  • 安装:

    npm install -D @antiwork/shortest
    # or
    pnpm add -D @antiwork/shortest
    # or
    yarn add -D @antiwork/shortest
  • 运行测试:

    npx shortest
    # or
    pnpm shortest
    # or
    yarn shortest
  • 配置(shortest.config.ts):

    import type { ShortestConfig } from '@antiwork/shortest';
    
    export default {
      headless: false, // 是否以无头模式运行浏览器
      baseUrl: 'http://localhost:3000', // 应用的基础 URL
      testDir: 'app/__tests__', // 测试用例所在的目录
      anthropicKey: process.env.ANTHROPIC_API_KEY // Anthropic API 密钥(如果需要)
    } satisfies ShortestConfig;

shortest 通过 AI 技术的加持,将原本复杂、枯燥的测试工作变成了简单高效的自然语言交互过程。它降低了测试的门槛,提高了测试效率,为开发者提供了一种全新的端到端测试选择。

参考链接

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注