用途
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 风格组织测试、复用页面对象时;需要将测试接入执行器。
限制
资料未提供除上述内容以外的功能、收费、价格、平台支持或效果信息。