我是Capybara的新手。
这是我在env.rb文件中的配置
Capybara.configure do |config|
config.run_server = false
#config.default_driver = :selenium
config.default_driver = :rack_test
config.app_host = 'point to my localhost port 3000'
end
如果我将default_driver设置为:selenium,那么一切都运行正常。但是我需要将驱动程序设置为:rack_test,这样在运行cucumber命令时,它将无法打开Web浏览器。
非常感谢,
P / S如果您是专家,请告诉我学习路径,我不希望有人向他们展示自己。
答案 0 :(得分:1)
我认为您要对由capybara控制的测试服务器进行测试(这是正常的方法),而不是针对您的开发实例(localhost:3000上的实例)或临时服务器或其他东西进行测试。 / p>
首先,配置capybara以运行您的Rails应用程序。通常的做法是将cucumber-rails gem添加到您的Gemfile中,并在env.rb中添加require 'cucumber/rails'
。您还可以set up capybara to run Rails (or any Rack app) manually。
完成后,capybara将默认执行您想要的操作(使用Rack :: Test驱动程序)。删除你从env.rb中显示的配置,Cucumber / capybara将以你想要的方式工作。
如果您还希望某些方案使用Javascript,请使用@javascript标记这些方案并添加
Capybara.javascript_driver = :selenium
到您的env.rb. Capybara将继续将其Rack :: Test驱动程序用于没有标记的场景,并将使用其Selenium驱动程序用于带有标记的场景。
答案 1 :(得分:0)
感谢Dave在此期间帮助我。简而言之,为了运行"黄瓜"没有触发打开Web浏览器(这是机架测试),这里是配置:
1>文件env.rb。
require 'cucumber/rails'
上面只有1行就足够了。
2 - ;文件.feature
功能:发布新产品
Feature: Post a new Product
Scenario: Open new product page
Given I open new product site
When I input new product
Then I should see the product created confirmed
顺便说一下,我们不需要" Capybara.javascript_driver =:selenium"在文件env.rb中。
我需要学习关于水豚和黄瓜的许多棘手的事情