用途
Capybara 是 Ruby 生态中用于 Web 应用验收测试的 DSL(领域特定语言),本技能用于生成基于 Capybara 与 RSpec 集成的端到端(E2E)测试代码。当用户提到 Capybara、visit、fill_in 等关键词时,可借助该技能产出可运行的测试脚本。
主要能力
- 基础测试结构:通过
require 'capybara/rspec'与RSpec.describe ..., type: :feature组织功能测试,覆盖登录成功与失败等典型流程。 - 导航操作:
visit、go_back、go_forward。 - 交互操作:
fill_in、choose、check、uncheck、select、attach_file、click_button、click_link、click_on。 - 元素查找:
find支持 CSS 选择器、[data-testid="x"]、XPath,all可统计元素数量。 - 断言匹配器:
have_content、have_selector、have_css、have_button、have_field、have_link、have_current_path、have_no_content等。 - 作用域限定:使用
within在表单或表格等区域内执行操作与断言。 - 云平台执行:通过注册自定义驱动,将测试运行在 TestMu AI(LambdaTest)云端的远程浏览器上,支持视频录制等能力。
使用方式
- 在 Gemfile 中加入
gem 'capybara'与gem 'selenium-webdriver'。 - 编写功能测试(feature spec),使用上述 DSL 与匹配器。
- 运行命令:
bundle exec rspec spec/features/。 - 如需云端执行,参考
reference/cloud-integration.md与shared/testmu-cloud-reference.md,并注册 LambdaTest 驱动(示例中通过LT_USERNAME、LT_ACCESS_KEY环境变量传入凭据,远程地址为https://hub.lambdatest.com/wd/hub)。
适用场景
- Web 应用的验收测试与端到端测试。
- 登录流程、JavaScript 交互、模态框、异步内容等场景。
- 使用 SitePrism 进行页面对象封装。
- API 请求测试(带认证头与 JSON 断言)。
- 数据库清理(DatabaseCleaner 事务/截断策略)。
- 自定义匹配器与辅助方法(如 sign_in、expect_flash)。
- CI/CD 集成(如 GitHub Actions 配合 Postgres、Redis、Chrome)。
- 调试常见问题与遵循最佳实践清单。
限制
资料中未提供关于收费、价格、平台支持范围、性能效果或具体版本要求的信息,暂未提供。