--- id: LambdaTest/agent-skills/codeception-skill version: "efdf5d4f" license: MIT install: manual updated: 2026-07-24 --- # codeception-skill — This skill enables you to generate Codeception acceptance tests using the Actor pattern and Cest format, streamlining test automation for web applications. It leverages TestMu AI's testing expertise to help you build robust, maintainable test suites that follow Codeception best practices. Publisher: LambdaTest · Stars: 339 · Updated: 2026-07-24 Install (manual): `git clone https://github.com/LambdaTest/agent-skills` ## SKILL.md # Codeception Testing Skill ## Core Patterns ### Acceptance Test (Cest) ```php amOnPage('/login'); } public function loginWithValidCredentials(AcceptanceTester $I) { $I->fillField('email', 'user@test.com'); $I->fillField('password', 'password123'); $I->click('Login'); $I->see('Dashboard'); $I->seeInCurrentUrl('/dashboard'); $I->seeElement('.welcome-message'); } public function loginWithInvalidCredentials(AcceptanceTester $I) { $I->fillField('email', 'wrong@test.com'); $I->fillField('password', 'wrong'); $I->click('Login'); $I->see('Invalid credentials'); $I->seeInCurrentUrl('/login'); } } ``` ### Actor Methods (AcceptanceTester $I) ```php // Navigation $I->amOnPage('/path'); $I->click('Button Text'); $I->click('#id'); $I->click(['xpath' => '//button']); // Forms $I->fillField('Name or Label', 'value'); $I->selectOption('Select', 'Option'); $I->checkOption('Checkbox'); $I->uncheckOption('Checkbox'); $I->attachFile('Upload', 'file.txt'); $I->submitForm('#form', ['email' => 'test@x.com']); // Assertions $I->see('Text'); $I->dontSee('Text'); $I->seeElement('#id'); $I->dontSeeElement('.error'); $I->seeInField('email', 'expected@value.com'); $I->seeInCurrentUrl('/dashboard'); $I->seeInTitle('Page Title'); $I->seeCheckboxIsChecked('#agree'); $I->seeNumberOfElements('li', 5); // Grabbers $text = $I->grabTextFrom('.element'); $attr = $I->grabAttributeFrom('#link', 'href'); $value = $I->grabValueFrom('#input'); ``` ### Page Objects (Step Objects) ```php I = $I; } public function login(string $email, string $password): void { $this->I->amOnPage(self::$url); $this->I->fillField(self::$emailField, $email); $this->I->fillField(self::$passwordField, $password); $this->I->click(self::$loginButton); } } ``` ### Cloud (TestMu AI) Full setup: [reference/cloud-integration.md](reference/cloud-integration.md). Capabilities reference: [shared/testmu-cloud-reference.md](../shared/testmu-cloud-reference.md). ### Cloud Config (acceptance.suite.yml) ```yaml 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 ``` ## Setup: `composer require --dev codeception/codeception codeception/module-webdriver` ## Init: `php vendor/bin/codecept bootstrap` ## Run: `php vendor/bin/codecept run acceptance` ## Deep Patterns See `reference/playbook.md` for production-grade patterns: | Section | What You Get | |---------|-------------| | §1 Project Setup | Installation, codeception.yml, suite configurations | | §2 Acceptance Tests | Cest pattern, @dataProvider, WebDriver interactions | | §3 API Tests | REST module, CRUD operations, @depends, HttpCode | | §4 Page Objects | Page class with static selectors, reusable methods | | §5 Database Testing | haveInDatabase, seeInDatabase, updateInDatabase | | §6 Custom Helpers | Custom module extending Codeception Module | | §7 CI/CD Integration | GitHub Actions with MySQL, Selenium, coverage | | §8 Debugging Table | 12 common problems with causes and fixes | | §9 Best Practices | 14-item Codeception testing checklist | [View on SkillFed](https://skillfed.io/LambdaTest/agent-skills/codeception-skill) · [View on GitHub](https://github.com/LambdaTest/agent-skills)