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-skills
source_type: community
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.
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.
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.
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.
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 | 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 |
| 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 |
| 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 |
| 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 |
| Skill | Languages | Description |
|---|---|---|
smartui-skill |
JS, TS, Java | SmartUI visual regression testing |
| Skill | Languages | Description |
|---|---|---|
hyperexecute-skill |
YAML | HyperExecute cloud test orchestration |
| Skill | Languages | Description |
|---|---|---|
test-framework-migration-skill |
JS, TS, Java, Python, C# | Convert tests between Selenium, Playwright, Puppeteer, Cypress |
| Skill | Languages | Description |
|---|---|---|
cicd-pipeline-skill |
YAML | CI/CD pipeline integration for GitHub Actions, Jenkins, GitLab CI |
"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.
"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.
"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.
"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.
LT_USERNAME, LT_ACCESS_KEY) — never hardcode themsleep() calls in all frameworksLT_USERNAME, LT_ACCESS_KEY, API tokens, or any credentials in generated code. Always reference them via environment variables.npm install, pip install, mvn install) should only be run in local development or authorized CI environments.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 — waitForSelector in Playwright, WebDriverWait in Selenium, cy.get().should() in Cypress.
Problem: Cloud tests fail with authentication errors
Solution: Verify LT_USERNAME and LT_ACCESS_KEY are 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.
@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