geb-skill
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".
DeepseekModel
Curated skill
Quality Excellent · 78
v1.0.0
Get
https://deepseekmodel.com/api/download.php?id=lambdatest-agent-skills-geb-skill-skill-md&format=skill
Download .skill
Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
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 and shared/testmu-cloud-reference.md . Core Patterns Basic Test (Spock) import geb.spock.GebSpec class LoginSpec extends GebSpec { def "login with valid credentials"() { when: to LoginPage emailInput.value("user@test.com") passwordInput.value("password123") loginButton.click() then: at DashboardPage welcomeMessage.text().contains("Welcome") } def "login shows error for invalid credentials"() { when: to LoginPage emailInput.value("wrong@test.com") passwordInput.value("wrong") loginButton.click() then: at LoginPage errorMessage.displayed errorMessage.text().contains("Invalid") } } Page Objects 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 $("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 // 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
Keywords that activate this skill. Click one to copy it.
This skill does not provide trigger words.
The downloaded .skill package contains the following fields.
| Field | Description |
|---|---|
| format | Format tag (skill/v1) |
| skill_id | Unique skill ID |
| name | Skill name |
| version | Version |
| description | Description |
| category | Categories (array) |
| trigger_words | Trigger words |
| tags | Tags |
| source | Source |
| source_url | Source URL (this page) |
| exported_at | Exported at (set per download) |
| system_prompt | System prompt body |
| model_config | Model config: provider / model / temperature / max_tokens / top_p |
| examples | Examples |
| install_guide | Import guide for Coze / Dify / Claude / custom frameworks |
The same skill can be exported in different platform formats.