Geb Browser Automation Test Generator
Generates Geb browser automation tests in Groovy with Spock integration using jQuery-like DSL and page object patterns
Free to install — no account needed
Copy the command below and paste into your agent.
Instant access • No coding needed • No account needed
What you get in 5 minutes
- Full skill code ready to install
- Works with 4 AI agents
- Lifetime updates included
Description
--- name: geb-skill description: > Generates Geb browser automation tests in Groovy with Spock integration. jQuery-like content DSL and page object pattern. Use when user mentions "Geb", "Groovy test", "GebSpec", "Browser.drive". Triggers on: "Geb", "GebSpec", "Groovy browser test", "Browser.drive". languages: - Groovy category: e2e-testing license: MIT metadata: author: TestMu AI version: "1.0" --- # Geb Automation Skill For TestMu AI cloud execution, see [reference/cloud-integration.md](reference/cloud-integration.md) and [shared/testmu-cloud-reference.md](../shared/testmu-cloud-reference.md). ## Core Patterns ### Basic Test (Spock) ```groovy import geb.spock.GebSpec class LoginSpec extends GebSpec { def "login with valid credentials"() { when: to LoginPage emailInput.value("[email protected]") passwordInput.value("password123") loginButton.click() then: at DashboardPage welcomeMessage.text().contains("Welcome") } def "login shows error for invalid credentials"() { when: to LoginPage emailInput.value("[email protected]") passwordInput.value("wrong") loginButton.click() then: at LoginPage errorMessage.displayed errorMessage.text().contains("Invalid") } } ``` ### Page Objects ```groovy class LoginPage extends geb.Page { static url = "/login" static at = { title == "Login" } static content = { emailInput { $("#email") } passwordInput { $("#password") } loginButton { $("button[type='submit']") } errorMessage(required: false) { $(".error") } } } class DashboardPage extends geb.Page { static url = "/dashboard" static at = { $(".dashboard").displayed } static content = { welcomeMessage { $(".welcome") } userName { $(".user-name") } } } ``` ### Navigator API ```groovy $("css-selector") $("div", class: "active") $("input", name: "email") $("div.items li", 0) // First match $("div.items li").size() // Count // Actions element.click() element.value("text") element << "text" // Append text element.text() element.displayed element.@href // Attribute ``` ### Cloud: `driver = new RemoteWebDriver(new URL(gridUrl), caps)` ## Setup: Gradle with `geb-spock` and `selenium-support` dependencies ### Cloud Execution on TestMu AI Set environment variables: `LT_USERNAME`, `LT_ACCESS_KEY` ```groovy // GebConfig.groovy environments { lambdatest { driver = { def ltOptions = [ user: System.getenv("LT_USERNAME"), accessKey: System.getenv("LT_ACCESS_KEY"), build: "Geb Build", name: "Geb Test", platformName: "Windows 11", video: true, console: true, network: true, ] def caps = new ChromeOptions() caps.setCapability("LT:Options", ltOptions) new RemoteWebDriver( new URL("https://hub.lambdatest.com/wd/hub"), caps) } } } ``` Run: `./gradlew test -Dgeb.env=lambdatest` ## Run: `./gradlew test` ## Deep Patterns See `reference/playbook.md` for production-grade patterns: | Section | What You Get | |---------|-------------| | §1 Project Setup | build.gradle, GebConfig.groovy, environments, waiting config | | §2 Page Objects | Content DSL, at checks, modules for reusable components | | §3 Spec Tests | Spock integration, data-driven with @Unroll, @Stepwise flows | | §4 Waiting & Async | Waiting presets, JavaScript interaction, alerts/confirms | | §5 Advanced Patterns | File upload/download, windows, frames, custom extensions | | §6 API Testing | REST API specs with Groovy JsonSlurper | | §7 CI/CD Integration | GitHub Actions with headless Chrome, Gradle caching | | §8 Debugging Table | 12 common problems with causes and fixes | | §9 Best Practices | 14-item Geb testing checklist |
Security Status
Unvetted
Not yet security scanned
Related AI Tools
More Grow Business tools you might like
Clawra Selfie
FreeEdit Clawra's reference image with Grok Imagine (xAI Aurora) and send selfies to messaging channels via OpenClaw
Agent Skills for Context Engineering
FreeA comprehensive collection of Agent Skills for context engineering, multi-agent architectures, and production agent systems. Use when building, optimizing, or debugging agent systems that require effective context management.
Terraform Skill for Claude
FreeUse when working with Terraform or OpenTofu - creating modules, writing tests (native test framework, Terratest), setting up CI/CD pipelines, reviewing configurations, choosing between testing approaches, debugging state issues, implementing security
Engineering Advanced Skills (POWERFUL Tier)
Free"25 advanced engineering agent skills and plugins for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw. Agent design, RAG, MCP servers, CI/CD, database design, observability, security auditing, release management, platform ops."
NotebookLM Research Assistant Skill
FreeUse this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-
Clawra Selfie
FreeEdit Clawra's reference image with Grok Imagine (xAI Aurora) and send selfies to messaging channels via OpenClaw