AgentSkillsCN

robot-framework-skill

使用Python语法,以关键字驱动的方式生成Robot Framework测试。支持SeleniumLibrary、RequestsLibrary以及自定义关键字。当用户提及“Robot Framework”“*** 测试用例 ***”“SeleniumLibrary”“.robot文件”时使用此功能。可通过“Robot Framework”“*** 测试用例 ***”“.robot”“SeleniumLibrary”“关键字驱动测试”等指令触发。

SKILL.md
--- frontmatter
name: robot-framework-skill
description: >
  Generates Robot Framework tests in keyword-driven syntax with Python.
  Supports SeleniumLibrary, RequestsLibrary, and custom keywords. Use when
  user mentions "Robot Framework", "*** Test Cases ***", "SeleniumLibrary",
  ".robot file". Triggers on: "Robot Framework", "*** Test Cases ***",
  ".robot", "SeleniumLibrary", "keyword-driven test".
languages:
  - Python
  - Robot Framework
category: e2e-testing
license: MIT
metadata:
  author: TestMu AI
  version: "1.0"

Robot Framework Skill

For TestMu AI cloud execution, see reference/cloud-integration.md and shared/testmu-cloud-reference.md.

Core Patterns

Basic Test (tests/login.robot)

robot
*** Settings ***
Library    SeleniumLibrary
Suite Setup    Open Browser    ${BASE_URL}    chrome
Suite Teardown    Close All Browsers

*** Variables ***
${BASE_URL}    http://localhost:3000
${EMAIL}       user@test.com
${PASSWORD}    password123

*** Test Cases ***
Login With Valid Credentials
    Go To    ${BASE_URL}/login
    Wait Until Element Is Visible    id:email    10s
    Input Text    id:email    ${EMAIL}
    Input Text    id:password    ${PASSWORD}
    Click Button    css:button[type='submit']
    Wait Until Element Is Visible    css:.dashboard    10s
    Page Should Contain    Welcome
    Location Should Contain    /dashboard

Login With Invalid Credentials Shows Error
    Go To    ${BASE_URL}/login
    Input Text    id:email    wrong@test.com
    Input Text    id:password    wrong
    Click Button    css:button[type='submit']
    Wait Until Element Is Visible    css:.error    5s
    Element Should Contain    css:.error    Invalid credentials

Custom Keywords

robot
*** Keywords ***
Login As User
    [Arguments]    ${email}    ${password}
    Go To    ${BASE_URL}/login
    Input Text    id:email    ${email}
    Input Text    id:password    ${password}
    Click Button    css:button[type='submit']

Verify Dashboard Is Displayed
    Wait Until Element Is Visible    css:.dashboard    10s
    Page Should Contain    Welcome

*** Test Cases ***
Valid Login Flow
    Login As User    user@test.com    password123
    Verify Dashboard Is Displayed

Data-Driven Tests (Template)

robot
*** Test Cases ***
Login With Various Users
    [Template]    Login And Verify
    admin@test.com    admin123    Dashboard
    user@test.com     pass123     Dashboard
    bad@test.com      wrong       Error

*** Keywords ***
Login And Verify
    [Arguments]    ${email}    ${password}    ${expected}
    Login As User    ${email}    ${password}
    Page Should Contain    ${expected}

API Testing (RequestsLibrary)

robot
*** Settings ***
Library    RequestsLibrary

*** Test Cases ***
Get Users Returns 200
    ${response}=    GET    ${API_URL}/users    expected_status=200
    Should Not Be Empty    ${response.json()['users']}

Create User
    ${body}=    Create Dictionary    name=Alice    email=alice@test.com
    ${response}=    POST    ${API_URL}/users    json=${body}    expected_status=201
    Should Be Equal    ${response.json()['name']}    Alice

Cloud Config

robot
*** Settings ***
Library    SeleniumLibrary

*** Variables ***
${REMOTE_URL}    https://%{LT_USERNAME}:%{LT_ACCESS_KEY}@hub.lambdatest.com/wd/hub

*** Keywords ***
Open Cloud Browser
    ${caps}=    Create Dictionary
    ...    browserName=chrome    browserVersion=latest
    ...    LT:Options=${{{"build":"Robot Build","name":"Login Test","platform":"Windows 11","video":True}}}
    Open Browser    ${BASE_URL}    remote_url=${REMOTE_URL}    desired_capabilities=${caps}

Setup: pip install robotframework robotframework-seleniumlibrary robotframework-requests

Run: robot tests/ or robot --include smoke tests/

Report: report.html and log.html auto-generated

Deep Patterns

See reference/playbook.md for production-grade patterns:

SectionWhat You Get
§1 Project SetupProject structure, variable files, execution commands, pabot
§2 Web UI TestingLogin tests with Page Objects, dynamic content, waits, modals
§3 API TestingCRUD with RequestsLibrary, error handling, validation, auth
§4 Data-Driven TestingDataDriver with CSV, FOR loops, bulk operations
§5 Custom Python Libraries@keyword decorator, resource tracking, test data generation
§6 Browser LibraryPlaywright-based modern testing, network interception, responsive
§7 LambdaTest IntegrationRemote browser config, cross-browser suite, status reporting
§8 CI/CD IntegrationGitHub Actions with matrix strategy, pabot parallel, report merging
§9 Debugging Table12 common problems with causes and fixes
§10 Best Practices14-item Robot Framework checklist