L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

capybara-skill

capybara-skill

Generates Capybara E2E tests in Ruby with RSpec integration. Acceptance testing DSL for web apps. Use when user mentions "Capybara", "visit", "fill_in", "click_button", "Ruby E2E". Triggers on: "Capybara", "Ruby acceptance test", "fill_in", "click_button", "have_content".

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: capybara-skill description: > Generates Capybara E2E tests in Ruby with RSpec integration. Acceptance testing DSL for web apps. Use when user mentions "Capybara", "visit", "fill_in", "click_button", "Ruby E2E". Triggers on: "Capybara", "Ruby acceptance test", "fill_in", "click_button", "have_content". languages:

  • Ruby category: e2e-testing license: MIT metadata: author: TestMu AI version: "1.0"

Capybara Automation Skill

Core Patterns

Basic Test (RSpec)

require 'capybara/rspec'

RSpec.describe 'Login', type: :feature do
  it 'logs in with valid credentials' do
    visit '/login'
    fill_in 'Email', with: 'user@test.com'
    fill_in 'Password', with: 'password123'
    click_button 'Login'
    expect(page).to have_content('Dashboard')
    expect(page).to have_current_path('/dashboard')
  end

  it 'shows error for invalid credentials' do
    visit '/login'
    fill_in 'Email', with: 'wrong@test.com'
    fill_in 'Password', with: 'wrong'
    click_button 'Login'
    expect(page).to have_content('Invalid credentials')
  end
end

DSL

# Navigation
visit '/path'
go_back
go_forward

# Interacting
fill_in 'Label or Name', with: 'text'
choose 'Radio Label'
check 'Checkbox Label'
uncheck 'Checkbox Label'
select 'Option', from: 'Select Label'
attach_file 'Upload', '/path/to/file'
click_button 'Submit'
click_link 'More Info'
click_on 'Button or Link'

# Finding
find('#id')
find('.class')
find('[data-testid="x"]')
find(:xpath, '//div')
all('.items').count

# Matchers
expect(page).to have_content('text')
expect(page).to have_selector('#element')
expect(page).to have_css('.class')
expect(page).to have_button('Submit')
expect(page).to have_field('Email')
expect(page).to have_link('Click Here')
expect(page).to have_current_path('/expected')
expect(page).to have_no_content('error')

Within Scope

within('#login-form') do
  fill_in 'Email', with: 'user@test.com'
  click_button 'Login'
end

within_table('users') do
  expect(page).to have_content('Alice')
end

TestMu AI Cloud

Capybara.register_driver :lambdatest do |app|
  caps = Selenium::WebDriver::Remote::Capabilities.new(
    browserName: 'chrome',
    'LT:Options' => {
      user: ENV['LT_USERNAME'], accessKey: ENV['LT_ACCESS_KEY'],
      build: 'Capybara Build', name: 'Login Test',
      platform: 'Windows 11', video: true
    }
  )
  Capybara::Selenium::Driver.new(app,
    browser: :remote,
    url: 'https://hub.lambdatest.com/wd/hub',
    capabilities: caps)
end
Capybara.default_driver = :lambdatest

Setup: gem 'capybara' + gem 'selenium-webdriver' in Gemfile

Run: bundle exec rspec spec/features/

Cloud (TestMu AI)

For remote browser execution, see reference/cloud-integration.md and shared/testmu-cloud-reference.md.

Deep Patterns

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

SectionWhat You Get
§1 Project SetupGemfile, Capybara config, driver registration, LambdaTest
§2 Feature SpecsLogin flows, JavaScript interactions, modals, async content
§3 Page ObjectsSitePrism pages with elements/sections, usage in specs
§4 API TestingRequest specs with auth headers, JSON assertions
§5 Database CleaningDatabaseCleaner transaction/truncation strategies
§6 Matchers & HelpersCustom helpers, sign_in, expect_flash
§7 CI/CD IntegrationGitHub Actions with Postgres, Redis, Chrome
§8 Debugging Table12 common problems with causes and fixes
§9 Best Practices14-item Capybara testing checklist
Skills enregistrées