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
官方收录技能
质量 优秀 · 78
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=lambdatest-agent-skills-lettuce-skill-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
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 .
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |