SuperAPI AI 工具集

codeception-skill

测试与质量

查看项目

更新于 10-15 14:59

技能介绍

用途

Codeception 是一个 PHP 测试框架,覆盖三层测试:验收测试(Acceptance)、功能测试(Functional)和单元测试(Unit)。其测试采用 BDD 风格,围绕 Actor 模式组织,即通过一个测试执行者对象(如 AcceptanceTester)以自然语言式的方法链完成操作与断言。本技能(codeception-skill)用于在用户提及「Codeception」时生成对应的测试代码。

主要能力

  • 验收测试(Cest):以 Cest 类方法组织测试,示例中通过 _before 钩子先访问页面,再以独立方法覆盖有效凭据登录、无效凭据登录等场景。
  • Actor 方法:提供三类常用方法。
    • 导航:amOnPage、click(支持文本、ID、XPath 选择器)。
    • 表单:fillField、selectOption、checkOption、uncheckOption、attachFile、submitForm。
    • 断言:see、dontSee、seeElement、dontSeeElement、seeInField、seeInCurrentUrl、seeInTitle、seeCheckboxIsChecked、seeNumberOfElements。
    • 抓取器(Grabbers):grabTextFrom、grabAttributeFrom、grabValueFrom。
  • Page Objects(步骤对象):将页面 URL 与选择器定义为静态属性,通过构造函数注入 Actor,并提供可复用的操作方法(如 login)。
  • 云端测试(TestMu AI):通过 WebDriver 模块配置 hub.lambdatest.com、端口 80、浏览器与 LT:Options 能力(用户、访问密钥、构建名、视频录制),实现云端运行。

使用方式

安装与运行命令如下(保持原文不改):

composer require --dev codeception/codeception codeception/module-webdriver
php vendor/bin/codecept bootstrap
php vendor/bin/codecept run acceptance

云端配置示例(acceptance.suite.yml):

actor: AcceptanceTester
modules:
  enabled:
    - WebDriver:
        url: 'http://localhost:3000'
        host: 'hub.lambdatest.com'
        port: 80
        browser: chrome
        capabilities:
          'LT:Options':
            user: '%LT_USERNAME%'
            accessKey: '%LT_ACCESS_KEY%'
            build: 'Codeception Build'
            video: true

参考文档包括:reference/cloud-integration.md(完整云端设置)、shared/testmu-cloud-reference.md(能力参考)、reference/playbook.md(生产级模式)。Playbook 章节涵盖:项目设置与套件配置、验收测试(Cest、@dataProvider、WebDriver 交互)、API 测试(REST 模块、CRUD、@depends、HttpCode)、Page Objects、数据库测试(haveInDatabase、seeInDatabase、updateInDatabase)、自定义 Helper、CI/CD 集成(GitHub Actions 搭配 MySQL、Selenium、覆盖率)、调试表(12 个常见问题及原因与修复)、最佳实践(14 项检查清单)。

适用场景

需要为 PHP 项目编写验收、功能或单元测试时;需要以 BDD 风格组织测试、复用页面对象时;需要将测试接入执行器。

限制

资料未提供除上述内容以外的功能、收费、价格、平台支持或效果信息。