lettuce-skill
Generates Lettuce BDD tests for Python with feature files and step definitions. Note: Lettuce is legacy/unmaintained; consider Behave for new projects. Use when user specifically mentions "Lettuce". Triggers on: "Lettuce", "lettuce test", "lettuce BDD".
DeepseekModel
Curated skill
Quality Excellent · 78
v1.0.0
Get
https://deepseekmodel.com/api/download.php?id=lambdatest-agent-skills-lettuce-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 lettuce-skill description Generates Lettuce BDD tests for Python with feature files and step definitions. Note: Lettuce is legacy/unmaintained; consider Behave for new projects. Use when user specifically mentions "Lettuce". Triggers on: "Lettuce", "lettuce test", "lettuce BDD". languages ["Python"] category bdd-testing license MIT metadata {"author":"TestMu AI","version":"1.0"} Lettuce BDD Skill (Legacy) Note: Lettuce is largely unmaintained. For new Python BDD projects, use Behave instead. Core Patterns Feature File (features/login.feature) Feature: User Login Scenario: Successful login Given I navigate to the login page When I enter "user@test.com" as email And I enter "password123" as password And I click login Then I should see the dashboard Scenario: Invalid login Given I navigate to the login page When I enter "bad@test.com" as email And I enter "wrong" as password And I click login Then I should see "Invalid credentials" Step Definitions (features/steps.py) from lettuce import step, world from selenium import webdriver from selenium.webdriver.common.by import By @step( r'I navigate to the login page' ) def navigate_to_login ( step ): world.browser = webdriver.Chrome() world.browser.get(world.base_url + '/login' ) @step( r'I enter "([^"]*)" as email' ) def enter_email ( step, email ): el = world.browser.find_element(By.ID, 'email' ) el.clear() el.send_keys(email) @step( r'I enter "([^"]*)" as password' ) def enter_password ( step, password ): el = world.browser.find_element(By.ID, 'password' ) el.clear() el.send_keys(password) @step( r'I click login' ) def click_login ( step ): world.browser.find_element(By.CSS_SELECTOR, 'button[type="submit"]' ).click() @step( r'I should see the dashboard' ) def see_dashboard ( step ): assert '/dashboard' in world.browser.current_url @step( r'I should see "([^"]*)"' ) def see_text ( step, text ): assert text in world.browser.page_source Terrain (Setup/Teardown — terrain.py) from lettuce import before, after, world @before.all def setup (): world.base_url = 'http://localhost:3000' @before.each_scenario def before_scenario ( scenario ): pass @after.each_scenario def cleanup ( scenario ): if hasattr (world, 'browser' ): world.browser.quit() @after.all def teardown ( total ): print ( f"Ran {total.scenarios_ran} scenarios" ) Setup: pip install lettuce selenium Run: lettuce or lettuce features/login.feature Cloud Execution on TestMu AI Set environment variables: LT_USERNAME , LT_ACCESS_KEY # terrain.py from selenium import webdriver import os @before.all def setup (): lt_options = { "user" : os.environ[ "LT_USERNAME" ], "accessKey" : os.environ[ "LT_ACCESS_KEY" ], "build" : "Lettuce Build" , "platformName" : "Windows 11" , "video" : True , "console" : True , } options = webdriver.ChromeOptions() options.set_capability( "LT:Options" , lt_options) world.browser = webdriver.Remote( command_executor= f"https:// {os.environ[ 'LT_USERNAME' ]} : {os.environ[ 'LT_ACCESS_KEY' ]} @hub.lambdatest.com/wd/hub" , options=options, ) Migration: Consider switching to behave for active maintenance Deep Patterns For advanced patterns, debugging guides, CI/CD integration, and best practices, see reference/playbook.md .
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.