lambdatest-agent-skills
Production-grade test automation skills for 46 frameworks across E2E, unit, mobile, BDD, visual, and cloud testing in 15+ languages.
What it does
LambdaTest Agent Skills — Test Automation Registry (46 Skills)
Overview
This skill is a curated index of 46 production-grade test automation skills sourced from the LambdaTest/agent-skills repository. It teaches AI coding assistants how to write, structure, and execute test automation code across every major framework and 15+ programming languages. Instead of generating generic test code, the AI becomes a senior QA automation architect that understands correct project structure, dependency versions, cloud execution, CI/CD integration, and common debugging patterns for each framework.
This skill adapts material from an external GitHub repository:
source_repo: LambdaTest/agent-skillssource_type: community
When to Use This Skill
- Use when you need to write, scaffold, or review test automation code for any major framework
- Use when working with Selenium, Playwright, Cypress, Jest, pytest, Appium, or any of the 46 supported frameworks
- Use when setting up a new test project and need the correct project structure, config files, and dependencies
- Use when integrating tests into a CI/CD pipeline (GitHub Actions, Jenkins, GitLab CI)
- Use when migrating tests between frameworks (e.g. Selenium → Playwright, Puppeteer → Cypress)
- Use when running tests on cloud infrastructure such as LambdaTest / TestMu AI
- Use when the user asks how to write, debug, or scale automated tests
How It Works
Step 1: Identify the Framework and Language
Determine which testing framework and programming language the user is working with. Match it to one of the 46 supported skills below. Each skill covers a specific framework with language-appropriate code patterns.
Step 2: Apply the Correct Skill Context
Load the relevant framework skill from the registry below. Each skill includes: project setup and dependencies, core code patterns, page objects or test utilities, cloud execution configuration, CI/CD integration, a debugging table for common problems, and a best practices checklist.
Step 3: Generate Production-Ready Test Code
Use the loaded skill context to generate test code that follows real-world conventions — not generic boilerplate. Apply correct import paths, configuration formats, assertion libraries, and runner commands specific to the framework and language.
Step 4: Configure for Local or Cloud Execution
If the user wants to run tests locally, apply local runner configuration. If running on LambdaTest / TestMu AI cloud, configure RemoteWebDriver capabilities or the appropriate cloud SDK, and set LT_USERNAME and LT_ACCESS_KEY from environment variables — never hardcode credentials.
Step 5: Add CI/CD Integration
When requested, generate a GitHub Actions (or Jenkins / GitLab CI) workflow that runs the tests in parallel, uploads reports, and captures artifacts on failure.
Skill Registry
🌐 E2E / Browser Testing (15 skills)
| Skill | Languages | Description |
|---|---|---|
selenium-skill | Java, Python, JS, C#, Ruby | Selenium WebDriver with cross-browser and cloud support |
playwright-skill | JS, TS, Python, Java, C# | Playwright browser automation with API mocking |
cypress-skill | JS, TS | Cypress E2E and component testing |
webdriverio-skill | JS, TS | WebdriverIO with page objects and cloud integration |
puppeteer-skill | JS, TS | Puppeteer Chrome automation |
testcafe-skill | JS, TS | TestCafe cross-browser testing |
nightwatchjs-skill | JS, TS | Nightwatch.js browser automation |
capybara-skill | Ruby | Capybara acceptance testing |
geb-skill | Groovy | Geb Groovy browser automation |
selenide-skill | Java | Selenide fluent Selenium wrapper |
nemojs-skill | JS | Nemo.js PayPal browser automation |
protractor-skill | JS, TS | Protractor Angular E2E testing |
codeception-skill | PHP | Codeception full-stack PHP testing |
laravel-dusk-skill | PHP | Laravel Dusk browser testing |
robot-framework-skill | Python, Robot | Robot Framework keyword-driven testing |
🧪 Unit Testing (15 skills)
| Skill | Languages | Description |
|---|---|---|
jest-skill | JS, TS | Jest unit and integration tests with mocking |
junit-5-skill | Java | JUnit 5 with parameterized tests and extensions |
pytest-skill | Python | pytest with fixtures, parametrize, and plugins |
testng-skill | Java | TestNG with data providers and parallel execution |
vitest-skill | JS, TS | Vitest for Vite projects |
mocha-skill | JS, TS | Mocha with Chai assertions |
jasmine-skill | JS, TS | Jasmine BDD-style unit testing |
karma-skill | JS, TS | Karma test runner |
xunit-skill | C# | xUnit.net for .NET |
nunit-skill | C# | NUnit for .NET |
mstest-skill | C# | MSTest for .NET |
rspec-skill | Ruby | RSpec with shared examples |
phpunit-skill | PHP | PHPUnit with data providers |
testunit-skill | Ruby | Test::Unit Ruby testing |
unittest-skill | Python | Python unittest with mocking |
📱 Mobile Testing (5 skills)
| Skill | Languages | Description |
|---|---|---|
appium-skill | Java, Python, JS, Ruby, C# | Appium mobile testing for iOS and Android |
espresso-skill | Java, Kotlin | Espresso Android UI testing |
xcuitest-skill | Swift, Obj-C | XCUITest iOS UI testing |
flutter-testing-skill | Dart | Flutter widget and integration tests |
detox-skill | JS, TS | Detox React Native E2E testing |
📋 BDD Testing (7 skills)
| Skill | Languages | Description |
|---|---|---|
cucumber-skill | Java, JS, Ruby, TS | Cucumber Gherkin BDD |
specflow-skill | C# | SpecFlow .NET BDD with Gherkin |
serenity-bdd-skill | Java | Serenity BDD with Screenplay pattern |
behave-skill | Python | Behave Python BDD |
behat-skill | PHP | Behat BDD for PHP |
gauge-skill | Java, Python, JS, Ruby, C# | Gauge specification-based testing |
lettuce-skill | Python | Lettuce Python BDD testing |
👁️ Visual Testing (1 skill)
| Skill | Languages | Description |
|---|---|---|
smartui-skill | JS, TS, Java | SmartUI visual regression testing |
☁️ Cloud Testing (1 skill)
| Skill | Languages | Description |
|---|---|---|
hyperexecute-skill | YAML | HyperExecute cloud test orchestration |
🔄 Migration (1 skill)
| Skill | Languages | Description |
|---|---|---|
test-framework-migration-skill | JS, TS, Java, Python, C# | Convert tests between Selenium, Playwright, Puppeteer, Cypress |
🔄 DevOps / CI/CD (1 skill)
| Skill | Languages | Description |
|---|---|---|
cicd-pipeline-skill | YAML | CI/CD pipeline integration for GitHub Actions, Jenkins, GitLab CI |
Examples
Example 1: Scaffold a Playwright test in TypeScript
"Write Playwright tests for the login page using TypeScript and run them on Chrome and Firefox"
The skill will generate: correct playwright.config.ts, a typed Page Object for the login page, a test file using @playwright/test, and a GitHub Actions workflow with parallel execution.
Example 2: Run Selenium tests on LambdaTest cloud
"Run my Selenium Java tests on Chrome, Firefox, and Safari on LambdaTest with OS Windows 11 and macOS Sonoma"
The skill will configure RemoteWebDriver with LambdaTest capabilities, read LT_USERNAME and LT_ACCESS_KEY from environment variables, and set up a parallel TestNG suite.
Example 3: Migrate Selenium tests to Playwright
"Migrate my existing Selenium Python tests to Playwright"
The skill uses test-framework-migration-skill to map Selenium locators, waits, and assertions to their Playwright equivalents, preserving test intent while updating syntax.
Example 4: Set up pytest with fixtures
"Create a pytest test suite for the payments API with fixtures and parametrized test cases"
The skill generates a conftest.py with shared fixtures, parametrized test cases using @pytest.mark.parametrize, and a pytest.ini config with coverage reporting.
Best Practices
- ✅ Always use environment variables for cloud credentials (
LT_USERNAME,LT_ACCESS_KEY) — never hardcode them - ✅ Use Page Object Model (POM) to keep test logic separate from UI selectors
- ✅ Prefer explicit waits over fixed
sleep()calls in all frameworks - ✅ Run tests in parallel where the framework supports it to reduce execution time
- ✅ Always capture screenshots and logs on test failure for easier debugging
- ✅ Match dependency versions to what each framework officially recommends — avoid mixing major versions
- ❌ Don't write tests that depend on test execution order
- ❌ Don't hardcode URLs, credentials, or environment-specific values inside test files
- ❌ Don't skip writing assertions — a test without assertions is not a test
- ❌ Don't ignore flaky tests — investigate and fix root cause rather than adding retries as a permanent fix
Limitations
- This skill is an index and trigger guide. The full implementation details for each framework live in the individual skill files at LambdaTest/agent-skills.
- This skill does not replace framework-specific documentation, environment setup, or expert QA review.
- Cloud execution examples assume a valid LambdaTest / TestMu AI account. Stop and ask the user for their setup details if credentials or target environments are unclear.
- Mobile testing skills (Appium, Espresso, XCUITest, Flutter, Detox) require platform-specific toolchains (Android SDK, Xcode) that must be installed separately.
Security & Safety Notes
- Never include
LT_USERNAME,LT_ACCESS_KEY, API tokens, or any credentials in generated code. Always reference them via environment variables. - When generating CI/CD pipelines, store secrets in GitHub Actions Secrets or equivalent — never in plaintext YAML.
- Installation commands (
npm install,pip install,mvn install) should only be run in local development or authorized CI environments.
Common Pitfalls
-
Problem: Tests pass locally but fail on CI Solution: Ensure headless mode is enabled in CI, and that browser versions match between local and CI environments. Use the framework's built-in CI detection where available.
-
Problem: Flaky tests due to timing issues Solution: Replace
sleep()with explicit waits —waitForSelectorin Playwright,WebDriverWaitin Selenium,cy.get().should()in Cypress. -
Problem: Cloud tests fail with authentication errors Solution: Verify
LT_USERNAMEandLT_ACCESS_KEYare correctly set as environment variables and match the credentials on the LambdaTest dashboard. -
Problem: Wrong browser capabilities for cloud execution Solution: Use the LambdaTest Capabilities Generator at https://www.lambdatest.com/capabilities-generator/ to get the correct capability object for your target browser and OS.
-
Problem: Mobile tests fail with "device not found" Solution: For local runs, verify the emulator/simulator is running and
adb devices(Android) or Simulator is active (iOS). For cloud runs, check the device name matches exactly what LambdaTest supports.
Related Skills
@test-driven-development— Use when you want to design tests before writing implementation code@testing-patterns— Use for general testing design patterns and strategies@cicd-pipeline-skill— Use when setting up end-to-end CI/CD pipelines with test automation@debugging-strategies— Use when diagnosing systematic test failures
Capabilities
Install
Quality
deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34726 github stars · SKILL.md body (11,538 chars)