我可以在 Rails (PHP) 之外的框架上使用 Capybara 吗?

Could I use Capybara on frameworks outside Rails (PHP)?

我想用 Capybara 测试我的 php 网络应用程序(特别是 Magento)。我之前使用 rails 时成功地使用了 Capybara,所以我想复制成功。有谁知道这是否可能,或者 php 是否有水豚?

是的,这是可能的。您必须定义 url 服务器为您要测试的页面提供服务的位置。例如,如果您使用 rspec,只需在 spec_helper.rb 中使用即可。此外,您必须指定一个不想启动应用程序的不同驱动程序(不存在),例如 selenium:

Capybara.app_host = 'http://www.site-to-test.com' # where your site lives
Capybara.default_driver = :selenium # use selenium to control the external browsers

基本的 Gemfile 看起来像这样:

source 'https://rubygems.org'

gem "rspec", '~> 3.0'
gem "capybara"
gem "selenium-webdriver", '~> 2.45'

如果你 运行 你的测试,它会启动浏览器 window(如果你的浏览器安装在一些非默认路径中,你也必须配置它),将打开你的页面并与之交互。