robot-framework-skill について
Web UIやAPIをテストするQAエンジニア向けの、Robot Frameworkのテストガイドです。SeleniumLibraryとRequestsLibraryの例に加え、プロジェクト設定、クラウド実行、CI/CD、トラブルシューティングを扱います。
主な機能
- 01Robot Frameworkのテスト設定とコマンド
- 02SeleniumLibraryによるWeb UIテストパターン
- 03RequestsLibraryのAPIテスト例
- 04データ駆動テストとカスタムキーワード
- 05クラウドとCI/CDの設定
- 06トラブルシューティングとベストプラクティス
活用シーン
- 01ブラウザーでのログインテスト作成
- 02APIエンドポイントと応答のテスト
- 03データ駆動テストスイートの実行
- 04クラウドブラウザーまたはCI実行の設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lambdatest/ agent-skills --skill robot-framework-skillインストール後、Claude Code で/robot-framework-skillを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/advanced-patterns.mdcloud-integration.mdplaybook.md詳細
Robot Framework スキル
TestMu AI クラウドでの実行については、reference/cloud-integration.md と shared/testmu-cloud-reference.md を参照してください。
基本パターン
基本的なテスト(tests/login.robot)
*** Settings ***
Library SeleniumLibrary
Suite Setup Open Browser ${BASE_URL} chrome
Suite Teardown Close All Browsers
*** Variables ***
${BASE_URL} http://localhost:3000
${EMAIL} [email protected]
${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 [email protected]
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
カスタムキーワード
*** 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 [email protected] password123
Verify Dashboard Is Displayed
データ駆動テスト(テンプレート)
*** Test Cases ***
Login With Various Users
[Template] Login And Verify
[email protected] admin123 Dashboard
[email protected] pass123 Dashboard
[email protected] wrong Error
*** Keywords ***
Login And Verify
[Arguments] ${email} ${password} ${expected}
Login As User ${email} ${password}
Page Should Contain ${expected}
API テスト(RequestsLibrary)
*** 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 protected]
${response}= POST ${API_URL}/users json=${body} expected_status=201
Should Be Equal ${response.json()['name']} Alice
クラウド設定
*** 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}
セットアップ:pip install robotframework robotframework-seleniumlibrary robotframework-requests
実行:robot tests/ または robot --include smoke tests/
レポート:report.html と log.html が自動生成されます
応用パターン
本番環境向けのパターンについては、reference/playbook.md を参照してください。
| セクション | 内容 |
|---|---|
| §1 プロジェクトのセットアップ | プロジェクト構成、変数ファイル、実行コマンド、pabot |
| §2 Web UI テスト | Page Object を使用したログインテスト、動的コンテンツ、待機、モーダル |
| §3 API テスト | RequestsLibrary を使用した CRUD、エラー処理、検証、認証 |
| §4 データ駆動テスト | CSV を使用した DataDriver、FOR ループ、一括操作 |
| §5 カスタム Python ライブラリ | @keyword デコレーター、リソース追跡、テストデータ生成 |
| §6 Browser Library | Playwright ベースのモダンなテスト、ネットワークインターセプト、レスポンシブ対応 |
| §7 LambdaTest との統合 | リモートブラウザー設定、クロスブラウザースイート、ステータスレポート |
| §8 CI/CD との統合 | マトリックス戦略を使用した GitHub Actions、pabot による並列実行、レポートの統合 |
| §9 デバッグ表 | よくある12の問題と原因および解決策 |
| §10 ベストプラクティス | Robot Framework の14項目チェックリスト |
コメント
Markdown 対応